2010-12-06 4 views
4

나는 Swift_SmtpTransport 사용하여 이메일을 보내려고하지만 다음과 같은 오류를 받고 있어요 :Swiftmailer SMTP 전송 거부 로컬 IP 주소

501 5.5.2 < [:: 1]> : 힐로 명령을 거부 : 잘못된 IP 주소

SMTP 서버는 원격 서버이며 내 프로덕션 서버에서 작동하지만 그것은 또한 예외를 던져 귀찮게하지 않는 OS X의에게

를 실행하는 내 개발 컴퓨터에서, 대신 작동하지 않는 이유를 알아 내기 위해 로거 플러그인을 사용해야했습니다.

실제 IP 주소를 사용하려면 어떻게해야합니까?

답변

4

코드에서 파고 들며 발견했습니다.

SMTP 전송을 구성 할 때 setLocalDomain()을 호출해야합니다. OS X에서 PHP를 사용하면 기본값은 ":: 1"이며, 이는 원격 서버에 의해 거부됩니다. 나는 단지를 설정하는 내 개발 구성의 라인을 추가했습니다 :

$transport = Swift_SmtpTransport::newInstance('mail.pantsburger.com', 587); 
if (SITE_ENV == SITE_ENV_DEV) { 
    $transport->setLocalDomain('[127.0.0.1]'); 
} 

나는이 또한 Swiftmailer 버그라고 생각 - 정말 이런 일에 대한 예외를 던지는해야보다는 각받는 사람 목록 "실패"로 표시됩니다.