Joomla 3.5.1로 업그레이드 한 후 Invalid Address
PHPMailer (Joomla Mailing 시스템)를 사용하는 일부 확장 프로그램에서 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
Joomla 3.5.1로 업그레이드 한 후 Invalid Address
PHPMailer (Joomla Mailing 시스템)를 사용하는 일부 확장 프로그램에서 오류가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
답변:
이메일을 보내는 일부 확장 프로그램을 사용하여이 오류가 발생하면 개발자 페이지를 방문하여 먼저 최신 버전을 사용하고 있는지 확인하십시오 .
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에서 오는 예외를 처리하는 데 필요한 코드 를 추가하려고합니다 .
추가 정보: