2011-02-11 3 views
0

내 PC에 XAMPP가 설치되어 있으며 내 Gmail 계정으로 이메일을 보내려고했지만 작동하지 않습니다. 여기 왜 PHP에서 간단한 mail() 함수를 사용하여 내 PC에서 내 Gmail 계정으로 이메일을 보낼 수 없습니까?

<?php 
$to = "[email protected]"; 
$subject = "Test mail"; 
$message = "Hello! This is a simple email message."; 
$from = "[email protected]"; 
$headers = "From: $from"; 
mail($to,$subject,$message,$headers); 
echo "Mail Sent."; 
?> 

php.ini 파일 내 설정입니다 :) (메일 :

경고 : 여기

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
SMTP = smtp.qq.com 
; http://php.net/smtp-port 
smtp_port = 25 
sendmail_from = [email protected] 

내가 브라우저에서있어 무엇인가 여기에 코드입니다 [function.mail] : "localhost"포트 25에서 메일 서버에 연결하지 못했습니다. "SMTP"및 "smtp_port"설정이 php.ini에 있는지 확인하거나에서 ini_set()을 사용하십시오.C : \ xampp \ htdocs \ phpemail.php on line 7

+0

메일 기능은 bool을 반환합니다. 문제를 최종적으로 또는 gmail에 있는지 확인하기 위해이를 검사해야합니다. – amccausl

답변

2

php.ini가 유효한 SMTP 서버를 가리 킵니까? php.ini에서이 섹션을 확인하십시오 :

[mail function] 
; For Win32 only. 
SMTP = localhost 
smtp_port = 25 

유효한 값이 설정되어 있는지 확인하십시오. PHP 오류 로그에 스크립트를 실행 한 후에 유용한 오류가 있습니까?

+0

여기에 php.ini 파일이 있습니다 : ** [메일 기능] SMTP = smtp.qq.com, smtp_port = 25 ** 이것으로 충분합니까? – xczzhh

+0

smtp.qq.com이 SMTP 서버로 설정되어 있고 올바르게 작동하는지 여부에 따라 다릅니다. "telnet smtp.qq.com 25"(Windows 또는 Linux에서 작동 함)를 시도하고 220 응답을 받았는지 확인하십시오. 그렇게하지 않으면 문제는 PHP 코드가 아닌 SMTP 서버를 통해 나타납니다. –

+0

@RyanMitchell : 메일 서버가 정상적으로 작동하는 것 같습니다 (텔넷의 정보 : '220 esmtp10.qq.com Esmtp QQ Mail Server'). 내가 'smtp.qq.com'(원격 메일 서버)으로 설정하는 동안 웹 브라우저에서받은 경고는 'localhost'(이 시도는 작동하지 않지만 시도했습니다)를 원한다고합니다. – xczzhh

0

XAMPP는 일부 응용 프로그램을 설치해야합니다. 그 중 하나가 수은 메일입니다. 거기에서 가서 SMTP 서버를 구성 할 수 있습니다.

기본적으로 PHP의 메일 기능을 사용하여 전자 메일을 보내려고 할 때 SMTP를 사용하여 전자 메일을 보내야하므로 제대로 설정하지 않으면이 기능이 작동하지 않습니다. 연결을 설정할 수 없으므로 메일을 보낼 수 없습니다.

+0

을 Mercury 메일에 넣으려면 SMTP 호스트를 ISP (인터넷 연결을 제공하는 회사)의 SMTP 호스트로 지정해야합니다. 그것이 무엇인지 모르는 경우에는 언제나 Google을 사용할 수 있습니다. 예를 들어 Verizon DSL을 사용하는 경우 Verizon DSL SMTP 설정을 검색 할 수 있습니다. – miki725

관련 문제