2012-10-02 2 views
0

나는 비슷한 질문을 여기에서 보았다. 그러나 나는 내 문제를 해결할 능력이 없다. PHP를 사용하여 메일을 보내려고하지만 ... 작동하지 않습니다. :PHP를 사용하여 메일 보내기

<?php 
$email_from="[email protected]"; 
ini_set("sendmail_from", $email_from); 
$headers = "From: $email_from"; 
mail('[email protected]','Registration confirmation','Hihihihihihih','$headers'); 
?> 

그것은 나에게 윈도우 서버에 다음과 같은 오류를 제공하지

"서버 :

"SMTP 서버 응답을 여기에 550 이러한 사용자 "그리고의 nginx 서버에 오류 다음 내부 오류 또는 구성 오류가 발생하여 요청을 완료하지 못했습니다.

서버 관리자 인 webmaster에게 연락하여 오류가 발생한 시간과 수행 한 사항을 알려주십시오. 오류가 발생했습니다.

이 오류에 대한 추가 정보는 서버 오류 로그에서 사용 가능할 수 있습니다. 요청을 처리하기 위해 작성한 ErrorDocument를 사용하는 동안

또한, 500 내부 서버 오류 오류가 발생했습니다. "

+1

주위에 작은 따옴표를 제거하십시오 ''$ headers'' – DaveRandom

+0

여전히 작동하지 않습니다 '( –

+0

당신이보기 위해서는 ini_set 행 제거 위해서는 ini_set 행 – rsz

답변

1

당신은 당신이 윈도우에서 실행하는 경우 당신은 SMTP이 필요하십니까? 보내는 메일 서버 설정이 있습니까 당신이 필요로하는 리눅스 경우 서버는 sendmail 또는 유사한 구성하고 로컬로 실행

는 SMTP 오류 메시지가 하지 오픈 전달자 제안합니다 -. 그냥 사람이 사람에게 이메일을 보내도록 요청 못하게 같이/어딘가에 그렇지 않으면 ... 스팸 메일 발송자가 사용하는 경우 스팸 발송자가 사용하기 때문에 좋은 광고입니다. 이온 (귀하의 사용자 이름/암호)은 전자 메일을 제외하고는 컴퓨터를 제외한 모든 사람에게 전자 메일을 배달합니다 (컴퓨터에 호스팅 된 도메인의 전자 메일 주소에서와 같이).

불행하게도 PHP mail() 방법은 그래서 당신은 타사 패키지에서 볼 필요가 있음을 처리하지 않습니다 - PEAR mail을, 또는 PHPMailer 좋은 옵션입니다.

가 PHPMailer와 함께 작업을 완료하려면

require_once /*lib location*/"phpmailer/class.phpmailer.php"; 
require_once /*lib location*/"phpmailer/class.smtp.php"; 

$mail=new PHPMailer(); 
$mail->IsSMTP(); 
$mail->Host=/*Your host*/; 
$mail->Port=465;//For SSL - use this if you can 
$mail->SMTPAuth=true; 
$mail->SMTPSecure="ssl"; 
$mail->SMTPDebug=2;//Comment once it works, but the debug info is invaluable 
$mail->Username=/*Your username*/; 
$mail->Password=/*Your password*/; 
$mail->setFrom("[email protected]"); 
$mail->Subject='Registration confirmation'; 
$mail->Body='Hihihihihihih'; 
$mail->AddAddress('[email protected]'); 
$mail->Send(); 
+0

대단히 감사합니다 ..... 그것이 효과가있었습니다 .. –

관련 문제