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");
上記のように書きました。
一回目は送信できるのですが、二回目以降が送信できません。
サーバを再起動するとまた送信できるようになるのですが、
二回目以降はやはり送信できません。
何か原因が考えられますでしょうか。
ご教示よろしくお願いいたします。
お礼
shin32様 ご回答ありがとうございます。 早速、拝見しました。 [配信の詳細]以外は、同様の設定でした。 すみません。ネットワークの知識が非常に疎くDNS関係がよくわからないのですが、DNSにメールに利用するドメインとメールサーバーのIPを登録する必要があるのでしょうか? また、メールを配信しようとしてエラーになっているのか、メールの配信処理が動作していないのかを判断したいのですが、コマンド又はエラーメッセージの格納される場所をご存知でしたら、教えてください。 ちなみにbadmail log queue それぞれのディレクトリには、何も入っていませんでした。