2017-10-29 24 views
0

나는 Mac에서 개발 중이고 일부 php 이메일 코드를 테스트하기 위해 phampailer로 mamp pro를 사용하고 있습니다. 내 개인 Gmail을 사용하여 이메일을 보내고받을 수있었습니다. 이제는 이메일 사용자 이름이 @cororateemail.com 또는 @ mybusiness.com과 같이 표준이 아닐 때 전자 메일을 보내는 방법을보고 싶지만 전자 메일을 보내려면 mamp pro 및 phpmailer를 구성하는 방법을 알 수 없습니다. 위의 예 에서처럼 '비표준'이메일을 사용하는 localhost로부터. 다음은 phpmailer 설정 코드입니다.localhost에 mamp 프로가있는 PHPMailer

$mail->Host = 'localhost'; 
$mail->SMTPAuth = true; 
$mail->isSMTP(); 
$mail->SMTPDebug = 4; 
$mail->Port = 25; 
$mail->SMTPSecure = 'ssl'; 
$mail->isHtml(true); 
$mail->setFrom('[email protected]', $name); 
$mail->addReplyTo($replyto, '[email protected]'); 
$mail->addAddress("[email protected]"); 
$mail->Subject = $subject; 
$mail->msgHtml($html); 
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 

mamp pro의 PHP 버전은 5.6.31입니다. 내 php.ini의 파일에서 내가 가진

MAMP Pro는 내 포트에서
SMTP = localhost 
smtp_port = 25 

은 다음과 같습니다 : 나는 한 프로 MAMP의 후위 탭에서

Apache-> port: 3005; ssl port: 25(it was 257 by default) 

'에 보내는 이메일의 도메인을 설정 : example.com' '라우팅을위한 스마트 호스트 사용'옵션이 선택 취소되어 있습니다. 다시 한번 강조 그래서

2017-10-29 23:00:29 Connection: opening to ssl://localhost:25, timeout=300, options=array() 
2017-10-29 23:00:29 Connection failed. Error #2: stream_socket_client(): unable to connect to ssl://localhost:25 (Connection refused) 
2017-10-29 23:00:29 SMTP ERROR: Failed to connect to server: Connection refused (61) 
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

을 다음과 같이

마지막으로 내 phpmailer 오류 출력됩니다. Gmail을 사용하지 않는 이메일을 보내고 싶지만 localhost에서 phpmailer를 올바르게 구성 할 수없는 것 같습니다. 그래서 내가 뭘 잘못했거나 없습니까? 고맙습니다!

답변

0

SMTPSecure = 'ssl'은 포트 25에서 작동하지 않을 것이라고 거의 보장됩니다.하지만 왜 지구상에서 아파치 포트 25에서 수신 대기합니까? 그래서 그냥 전원을 끄고하지만 당신은 로컬 호스트 전달을위한 인증이 필요하지 않습니다 - 그 후위의 작업

당신은 SMTPAuth을 설정하지만 Username 또는 Password을 설정하지 않는 것입니다.

localhost를 통해 릴레이하는 경우에는 암호화가 필요하지 않습니다 (보호 할 네트워크 세그먼트가 없습니다). 이름과 일치하는 인증서가 없으므로 어쨌든 작동하지 않습니다.

PHPMailer를 사용하여 SMTP를 사용하여 로컬 호스트를 통해 보내려면 대부분 isSMTP()이어야하고 다른 속성의 기본값은 정상적으로 작동해야합니다.

새 프로젝트를 작성하는 경우 PHP의 구 버전을 사용하지 마십시오. 7.0 이상을 사용하십시오.

나는 당신이 한 걸음 뒤로 물러나 정확히 무엇을하려고 하는지를 정의 할 필요가 있다고 생각한다. 현재의 설정은 거의 의미가 없다.

+0

고맙습니다. 필자는 phpmailer를 처음 사용하고 있으며, 가장 좋은 설정 (localhost 용)이 무엇인지 확실하지 않아서 문제가되었습니다. 나는 버전을 7까지 늘릴 것이다. 그래서 당신의 대답을 제대로 이해한다면, 내 구성을 수정하는 방법에 대해서는 약간 불분명합니다. $ mail-> SMTPAuth = true를 제거해야합니다. $ mail-> Port = 25 (또는 257로 변경) 내 MAMP PRO Postfi 구성에서 apache가 ssl에 대해 257 (기본값)을 수신해야합니까? – engineerKev

+0

해당 포트 번호는 일반적이지 않습니다. 가능한 경우 기본값을 사용하는 것이 좋으며 특별히 필요하지 않는 한 표준 포트에서 변경하지 않는 것이 좋습니다. 일반적으로 아파치는 포트 80과 443, 후위는 25, 465 & 587에서 수신합니다. – Synchro