この記事について
| 環境 | さくらのVPS + postfix |
|---|---|
| 目的 | mb_send_mail でメールが送れない原因を調べる |
| 結果 | sendmail を直接実行すると ::1 エラーが出ていた。参考ページの手順で解決 |
つまずきポイント要約
- ターミナルから sendmail を直接叩くと原因が見える
- 「no local interface found for ::1」の対処は postfix の inet_protocols 設定(1946にも記載)
事象
php の mb_send_mail 関数でメールが送れない。他のサーバーでは送れるのでスクリプトのエラーではない。
調査
ターミナルから送ろうとするとエラーが出た。
こう打つ
[root@localhost ~]# echo "test" | /usr/sbin/sendmail -t -i ○○@yahoo.co.jp
//↓出たエラー
sendmail: fatal: parameter inet_interfaces: no local interface found for ::1
対処
↓このページのようにしたらできた。

CentOSでIPv6 を無効にするとメールが送れなくなった - Qiita
恐らくpostfix以外にもいくつか影響は出てたと思いますが、とりあえず気づいたきっかけはpostfixでした。 sysctlを編集してipv6を無効にする if ;...
postfix はメールを送るためのソフト。
関連:postfix のインストールと ::1 エラーの対処
