2016-12-14 6 views
2

ヘッダーをmail()に追加したときはいつでも、受信者は電子メールを受信しません。PHPメールヘッダーは機能しませんか?

これは、[OK]を動作します:

// The message 
$message = "Line 1\r\nLine 2\r\nLine 3"; 

// In case any of our lines are larger than 70 characters, we should use wordwrap() 
$message = wordwrap($message, 70, "\r\n"); 

// Send 
mail('[email protected]', 'My Subject 2', $message); 

これはOKではありません。

// The message 
$message = "Line 1\r\nLine 2\r\nLine 3"; 

// In case any of our lines are larger than 70 characters, we should use wordwrap() 
$message = wordwrap($message, 70, "\r\n"); 

// Send with headers 
mail('[email protected]', 'My Subject', $message, 'From: Test <[email protected]>'); 

任意のアイデアを、なぜ?

EDIT:

それは@yahoo.co.uk電子メールアドレスに起因しているようです。 @gmail.comと大丈夫です!

なぜ!私のプロダクションサーバーとは何か?

EDIT 2:

// Include Composer autoloader. 
require_once __DIR__ . '/vendor/autoload.php'; 

$mail = new PHPMailer; 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
$mail->addAddress('[email protected]');    // Name is optional 
$mail->addReplyTo('[email protected]', 'Information'); 
$mail->addCC('[email protected]'); 
$mail->addBCC('[email protected]'); 

$mail->Subject = 'Here is the subject'; 
$mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    echo 'Message has been sent'; 
} 

しかし、それは@gmail.comでOK動作します:

同じことは、私はPHPMailerを使用する場合でも発生

$mail->setFrom('[email protected]', 'Mailer'); 
+0

これはあなたの正確な質問に対する回答ではありませんが、あなたのためにこれを処理するPHPMailerなどの既存のライブラリを使用することを検討しましたか? – systematical

+0

どうすれば使用できますか? – laukok

+0

https://github.com/PHPMailer/PHPMailer – systematical

答えて

3

具体的には、あなたの質問に答えるために、 http://php.net/manual/en/function.mail.phpを参照してください。例2「例2追加ヘッダーを使用してメールを送信する」というタイトルの例2

有効なヘッダーには改行または改行を追加する必要があります。

+0

"複数の追加ヘッダーはCRLFで区切る必要があります"。 1つのヘッダー行を使う必要はありません。 – Devon

+0

私はその例#2を試しました。それはまだ同じです。私は問題を引き起こす奇妙な理由を発見しました - 私の上記の編集を見てください。 – laukok

+0

PHPMailerを使用した後、私の編集2を見てください。同じ問題... – laukok

関連する問題