2011-12-31 1 views
0

내 컴퓨터에서 mail() 함수를 사용하여 누군가를 위해 구축하고있는 웹 응용 프로그램의 시스템 전자 메일을 테스트 할 수 있습니다. php.ini 파일에서 sendmail_sender을 내 이메일 주소로 변경했습니다.Comcast의 SMTP 서버가있는 localhost의 PHP mail()이 작동하지 않습니다.

$url = "http://localhost/activate.php?key=".$key; 
$email_body = "Dear ".$name.", 

Thank you for registering on Yamma.org! To activate your account, please click on the following URL: 

".$url." 

If the above URL is not clickable, please copy the FULL URL and paste it into your browser's address bar. 

Sincerely, 
The Yamma Team 
http://www.yamma.org"; 

mail($email, $settings['activate_email_subject'], $email_body, "From: ".$settings['emails_sent_from']); 

: 여기

Warning: mail() [function.mail]: SMTP server response: 550 5.1.0 Authentication required in C:\wamp\www\register.php on line 28

내 PHP 메일 코드 :

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = smtp.comcast.net 
; http://php.net/smtp-port 
smtp_port = 25 

내가 PHP로 메일을 보내십시오, 나는이 오류가 다음과 같이 php.ini의 SMTP 설정은 아무도 내가 왜이 오류가 발생할 수있는 아이디어가 있습니까? 나는 Comcast의 SMTP 서버가 인증이 필요하다고 생각하지 않습니까?

답변

1

분명히 말하지만 그렇지 않습니다. :). 인증을하려면 PHPMailer, SwiftMailer 또는 Zend_Mail과 같은 라이브러리를 사용해야합니다.

+0

오, 확인. 그래서 그 라이브러리 중 하나를 사용하면 Comcast의 SMTP 서버를 계속 사용할 수 있습니까? – Nathan

+1

수 있습니다. Comcast ToS (확실하지는 않음)의 위반 일 가능성이 있지만 확실히 할 수 있습니다. 그렇지 않으면 자신의 메일 서버 (실제 데몬뿐만 아니라 MX 레코드 및 기타 등등)를 사용하거나 ToS가 이와 같은 것을 허용하는 메일을 사용할 수 있습니다 (다시 한번 : 컴캐스트가하는지 여부는 확실하지 않음). – Corbin

+0

의견을 보내 주셔서 감사합니다. – Nathan