2012-08-16 5 views
1

phpmailer을 사용하여 첨부 파일이있는 전자 메일을 보내려합니다.첨부 파일이없는 PHPMailer

include_once('/home/site/PHPMailer/class.phpmailer.php'); 

$mail    = new PHPMailer(); 
$body    = $mail->getFile('contents.html'); 
$body    = eregi_replace("[\]",'',$body); 
$mail->IsSMTP(); // telling the class to use SMTP 
$mail->Host  = "smtp.free.fr"; // SMTP server 
$mail->IsSendmail(); // telling the class to use SendMail transport 

$mail->From  = "[email protected]"; 
$mail->FromName = "name"; 

$mail->Subject = "subject"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 

$mail->MsgHTML($body); 

$mail->AddAddress("[email protected]", "name"); 

$mail->AddAttachment("mylist.csv");    // attachment 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

"메시지를 보냈습니다!" 실행 중에는 이메일이 수신되지 않습니다.

+0

syslog 또는/var/mail/username에서 오류나 반송 된 메일이 수신되었는지 확인하십시오. –

+0

설치 프로그램에서 수행하려는 작업을 확신 할 수 없습니다. 먼저 SMTP 사용을 지정하고 Sendmail로 전환하십시오. 어느 운송 수단을 사용하려고합니까? –

+1

스팸 폴더를 확인하십시오. 이메일 서버는 헤더가 제대로 설정되지 않은 경우 자동 이메일을 스팸으로 해석하는 습관이 있습니다. – Matt

답변

0

AOL 및 Yahoo와 같은 많은 메일 제공 업체가 이메일 스팸과 관련된 막대한 IP 주소를 차단하기 때문에 이메일을 보낸 사용자가받지 못했을 가능성이 큽니다. 따라서이 PHP 스크립트를 실행하는 서버가 차단 목록에있는 경우 사용자는 스팸 폴더에 메시지를받지 못합니다.

PHP 이메일 로그를 확인하십시오. 그렇지 않은 경우

http://help.yahoo.com/l/us/yahoo/smallbusiness/webhosting/php/php-03.html

또한, 당신이 포함하려는 파일이 있는지 확인하는 시도, 당신은 파일에 올바른 경로를 통과하고 있습니다. @Waygood가 말했듯이 첨부 파일없이 전송하는지 확인해보십시오.

+0

syslog에 오류가 표시되지 않고 ftp에서 메일을 보내려고합니다. – Algodrill

+0

첨부 파일은 보내지 만 아무것도 보내지 않습니다. 그리고 내 테스트를 위해 laposte.net에서 mymail을 사용합니다 – Algodrill

+0

다른 서버에 스크립트를 저장했기 때문에 괜찮습니다. 내 서버에서 이메일을 보내려면 어떻게해야합니까? – Algodrill

관련 문제