php8でsmtpサーバにメールが送れない

実現したいこと

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}

試したこと・調べたこと

上記の詳細・結果

php.ini を変更した際に、「apacheを再起動する事」とありましたが、変化はありませんでした。
サーバも再起動しましたが、同じく変化はありませんでした。
postfix側のサーバは再起動していません。

補足

ローカル内「10.10.2.0/24」の中でやり取りをしています。
postfix側ですが、telnetが通じたのでFirewallは大丈夫と考えています。
php.ini の「SMTP」項目ですが、最初は名前で書いていたのですが、明示する為にIPアドレスに変えました。

コメントを投稿

0 コメント