以下2つのサーバ環境でmb_send_mailを使い、
メール送信を行っているのですが
送信エラー時の挙動が両サーバで異なってしまいます。
サーバ①
・FreeBSD 9.1-RELEASE
・Apache/2.4.41
・PHP 7.2
・メールサーバ:sendmail パス:/usr/sbin/sendmail -t -i
サーバ②
・CentOS 5.5
・Apache/2.2.21(EL)
・PHP 5.2.17
・メールサーバ:sendmail パス:/usr/sbin/sendmail -t -i
事象としては、ユーザ部が存在しないアドレス(@以下のドメインは存在)に
メール送信しUser unknownになった際、
サーバ①で実行すると返り値がfalseなのですが、
サーバ②で実行すると返り値がtrueになります。
サーバ②でもfalseを拾いたいのですが、
なぜ動きが違うのかわからず、ご教示頂けると助かります。
mb_send_mailは実行環境によって挙動が
変わるものなのでしょうか。
プログラムは以下のように両サーバ同じように組んでいます。
PHP
1mb_language("Japanese"); 2mb_internal_encoding("UTF-8"); 3 4$mail_address= 'yyy@yyy.co.jp' 5$subject = mb_convert_encoding("メールタイトル", "UTF8", "SJIS"); 6$body = mb_convert_encoding("メール本文", "UTF8", "SJIS"); 7$header = 'From: xxx@xxx.co.jp' . "\r\n"; 8$header .= 'Bcc: xxx@xxx.co.jp' . "\r\n"; 9$return_to = '-f xxx@xxx.co.jp'; 10 11if(mb_send_mail($mail_address, $subject, $body, $header, $return_to)) { 12 // メール送信成功処理 13} else { 14 // メール送信失敗処理 15} 16
回答2件
あなたの回答
tips
プレビュー