smtpでメール送信
いつもお世話になっております。
mail()、mb_send_mail() が使用できないため、smtp から
直接メール送信をしようと考えております。
(なぜ、mail()、mb_send_mail() が使用できないのかはわかりません。)
// 件名
$subject = mb_convert_encoding($subject, "JIS", "EUC-JP");
$subject = '=?iso-2022-jp?B?' . base64_encode($subject) . '?=';
// 本文
$msg = mb_convert_encoding($msg, "JIS", "EUC-JP");
// 送信
$fp = fsockopen('localhost', 25, $err_str, $err_no, 5);
$header = "From: " . $from . "\r\n";
$header .= "To: " . $to . "\r\n";
$header .= "Reply-To: " . $from . "\r\n";
$header .= "Subject: " . $subject . "\r\n";
$header .= "Mime-Version: 1.0\r\n";
$header .= "Content-Type: Text/Plain; charset=iso-2022-jp\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n";
fputs($fp, "HELO " . $smtp . "\r\n" );
fputs($fp, "MAIL FROM:" . $from . "\r\n");
fputs($fp, "RCPT TO:" . $to . "\r\n");
fputs($fp, "DATA \r\n");
fputs($fp, $header . $msg . "\r\n.\r\n");
fputs($fp, "QUIT \r\n");
上記のように書きました。
一回目は送信できるのですが、二回目以降が送信できません。
サーバを再起動するとまた送信できるようになるのですが、
二回目以降はやはり送信できません。
何か原因が考えられますでしょうか。
ご教示よろしくお願いいたします。
お礼
ありがとうございました。 $hedersの末尾 \r\nを\nだけにしたら解決しました。 PHPの公式HPには\r\nをつけるよに書いてあるのですが まちがいなのか、送信側のメイラーの問題なのか不明ですが 取りあえず解決しました。 ありがとうございました。