mb_send_mailを使用してサーバーからログインシステムの確認メールとしてメールを送りたいのですが送信されません。
環境
UTF
1# cat /etc/redhat-release 2CentOS Linux release 7.4.1708 (Core) 3 4# php -v 5PHP 7.1.16 (cli) (built: Mar 28 2018 13:19:29) ( NTS ) 6Copyright (c) 1997-2018 The PHP Group 7Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
メール送信フォーム
UTF
1 //メールの宛先 2 $mailTo = $mail; 3 4 $name = "ウェブの葉ショップ"; 5 $mail = 'root@vultr.guest'; 6 $subject = "【ウェブの葉ショップ】会員登録用URLのお知らせ"; 7$body = <<< EOM 824時間以内に下記のURLからご登録下さい。 9{$url} 10EOM; 11 12 mb_language('ja'); 13 mb_internal_encoding('UTF-8'); 14 15 //Fromヘッダーを作成 16 $header = 'From: root@vultr.guest' . mb_encode_mimeheader($name). $ 17 18 if (mb_send_mail($mailTo, $subject, $body, $header)) { 19 20 echo "メール送信成功しました。"; 21 22 //セッション変数を全て解除 23 $_SESSION = array(); 24 25 //クッキーの削除 26 if (isset($_COOKIE["PHPSESSID"])) { 27 setcookie("PHPSESSID", '', time() - 1800, '/'); 28 } 29 30 //セッションを破棄する 31 session_destroy(); 32 33 $message = "メールをお送りしました。24時間以内にメールに記$ 34 }else{ 35 $errors['mail_error'] = "メールの送信に失敗しました。"; 36 echo "メール送信失敗しました。"; 37 }
ページ上には「メール送信成功しました」としっかり返ってきます。
talnetによる動作テスト
UTF
1# telnet alt4.gmail-smtp-in.l.google.com 25 2Trying 209.85.144.27... 3telnet: connect to address 209.85.144.27: Connection timed out 4Trying 2607:f8b0:400d:c0e::1a... 5telnet: connect to address 2607:f8b0:400d:c0e::1a: Network is unreachable
maillog
UTF
1w314m0ej022713: sender notify: Warning: could not send message for past 4 hours 2to=root, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=32038, dsn=2.0.0, stat=Sent 3to=<送信先アドレス>, ctladdr=<apache@vultr.guest> (48/48), delay=06:30:18, xdelay=00:24:00, mailer=esmtp, pri=480633, relay=mx3.mail.yahoo.co.jp. [183.79.16.243], dsn=4.0.0, stat=Deferred: Connection timed out with mx3.mail.yahoo.co.jp.
何かお分かりの方いらっしゃたっらご指摘お願い致します。
回答2件
あなたの回答
tips
プレビュー