実現したいこと
almalinux 9.3 / almalinux 9.3
PHP 8.2.14 / postfix 3.5.9
phpから mb_send_mailを使って、別サーバのSMTPにメールを送信したい。
発生している問題・分からないこと
mb_send_mail でデータを作成してメールをSMTPに送っています。
postfix側のmail.logを見ているのですが、接続した形跡もありません。
telnetを使い接続するとmail.logにも記録が残り、メール送信できました。
下記の処理をさせてみたところ、「送信成功」と表示されたので、phpでは
エラーはないものと思います。
if (mb_send_mail($to, $title, $content, $header)) {
echo "メール送信成功です<br />\n";
} else {
echo "メール送信失敗です<br />\n";
}
ローカル内でやっているので、25番ポートを使っています。
----- php.ini -----
[mail function]
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; https://php.net/sendmail-path
SMTP = 10.10.2.100
smtp_port = 25
;sendmail_path = /usr/sbin/sendmail -t -i
---- EOF ----
エラーメッセージ
error
1エラーメッセージは特にありません。 2なので、原因特定も難しくなっています。 3
該当のソースコード
php
1// mail 文字コード 2mb_language("Japanese"); 3mb_internal_encoding("UTF-8"); 4 5// 送信者 6$from="hoge@example.co.jp"; 7// メールヘッダを作成 8$header = "From: " . $from; 9$header = $header . "\nContent-Type: text/html;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion(); 10// 受信者 11$to = 'watasi@example.co.jp'; 12echo "to = " . $to . "<br />\n"; 13// 件名 14$title = "【TEST】PHP Mail送信"; 15// 本文 16$content = "このメールはテストです<br>"; 17$content=$content."別のサーバからメールを送信しています<br><br>"; 18$content=$content."<br>以上、確認よろしくお願いします。<br><br>"; 19$content=$content."※このメールはシステムより送信しています。返信はできません。"; 20echo "content = " . $content . "<br />\n"; 21 22// メール送信 23if (mb_send_mail($to, $title, $content, $header)) { 24 echo "メール送信成功です<br />\n"; 25} else { 26 echo "メール送信失敗です<br />\n"; 27}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
php.ini を変更した際に、「apacheを再起動する事」とありましたが、変化はありませんでした。
サーバも再起動しましたが、同じく変化はありませんでした。
postfix側のサーバは再起動していません。
補足
ローカル内「10.10.2.0/24」の中でやり取りをしています。
postfix側ですが、telnetが通じたのでFirewallは大丈夫と考えています。
php.ini の「SMTP」項目ですが、最初は名前で書いていたのですが、明示する為にIPアドレスに変えました。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/01/05 02:17