Joomla 3.5.1로 업그레이드 한 후 "잘못된 주소"오류 수정


10

Joomla 3.5.1로 업그레이드 한 후 Invalid AddressPHPMailer (Joomla Mailing 시스템)를 사용하는 일부 확장 프로그램에서 오류가 발생합니다.

이 문제를 어떻게 해결할 수 있습니까?

답변:


16

사용자를위한 답변 :

이메일을 보내는 일부 확장 프로그램을 사용하여이 오류가 발생하면 개발자 페이지를 방문하여 먼저 최신 버전을 사용하고 있는지 확인하십시오 .

100 % 최신 버전을 사용하고 있지만이 오류가 계속 발생하면 개발자에게 문의하여이 오류에 대해 문의해야합니다. 이 페이지에 대한 링크를 보내면 개발자가이 오류를 해결하는 데 도움이 될 수 있습니다 .

PHP 사용 경험이 충분하다고 생각되면 아래의 "개발자에 대한 답변"을 사용하여 코드를 직접 패치 할 수 있습니다.

이것은 개발자가 새 버전을 발행 할 때까지 영구적 인 해결책이 아니라 "패치"일뿐입니다.

개발자를위한 답변 :

Joomla 3.5.1은 기본적으로 PHPMailer의 예외를 활성화합니다. 따라서 이전에 숨겨져 있던 오류가 나타납니다.

이것이 현재 나타나는 한 가지 경우는 addReplyTo기능입니다.

Joomla 2.5 addReplyTo에는 배열 매개 변수가있었습니다.

Joomla 3.0부터 ( 예, 2012 년으로 돌아 가기 ) Joomla의 JMail 함수는 문자열 매개 변수와 다르게 배열을 처리하지 않도록 변경되었습니다. 따라서 기본 PHPMailer 코드에 의존했지만 변경되었지만 Reply-To를 올바르게 추가하지 못했습니다.

PHPMailer는 예외를 처리하지만 Joomla 3.5.1까지 예외 처리를 수동으로 활성화하지 않으면 아무도 예외를 보지 못했습니다!

해결책

확장 코드를 검색 addReplyTo하고 다음과 같이 행을 변경할 수 있습니다 .

 $mailer->addReplyTo(array($replyTo, $replyToName));

이에:

if(version_compare(JVERSION, '3.0', 'ge')) {
  $mailer->addReplyTo($replyTo, $replyToName);
} else {
  $mailer->addReplyTo(array($replyTo, $replyToName));
}

또한 try {} catch() {}JMail / PHPMailer에서 오는 예외를 처리하는 데 필요한 코드 를 추가하려고합니다 .

추가 정보:

Github에 대한 문제 토론

Joomla 포럼의 관련 주제


1
좋은 발견. 나는 Joomla를 같은 페이지에 제공하고자 자신의 업데이트
Lodder

2
hbit에 의한 편집에 따르면, 이것은 Joomla 3.0 이후의 문제입니다. 그러나 Joomla 3.5까지는 이전 코드를 사용하는 양식 에서이 문제가 발생하지 않는다는 것을 확인할 수 있습니다.
mavrosxristoforos

3

$ replyTo 변수가 비어 있고 사용해야 할 때도이 오류가 발생했습니다.

if ( !empty($replyTo) ) {
  $mailer->addReplyTo($replyTo, $replyToName);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.