質問: ### 前提・実現したいこと CentOSを使ったさくらVPSのレンタルサーバーでPHPで実装したページから、メール送信の通知機能を実装したいと考えています。 PHPでは、mail()関数にてサーバーからメール送信機能を実装しています。 CentOSのサーバーでは、Postfixにてメール送信機能を実装しているのですが、エラーメッセージが出て上手く実装できません。 ### 環境構築 CentOSは以下の手順で構築しました。 #### 周辺環境 **さくらVPS** パケットフィルタ設定(全て許可) | 用途 | プロトコル | ポート番号 | | --- | --- | --- | | SSH | TCP | 22 | | Web | TCP | 80/443 | | メール | TCP | 25/110/143/465/587/993/995 | **ドメイン:お名前ドットコム** #### サーバー環境設定 1.httpdのインストール Apache httpd 2.4 を CentOS 7 に yum でインストールする手順 2.PHPのインストール CentOS 7にPHP 7.3をインストールしてApache HTTP Serverと連携させる方法 3.Let's Encryptの設定 CentOS 7 + Apache 2.4 に Let’s Encrypt の証明書を導入する手順 4.Postfixの設定 postfixでのメール送信環境を自力構築する ここまで行った上で、 ``` # sendmail bbb@gmail.com From: aaa@my-domain.com To: bbb@gmail.com Subject: test test . ``` メールテストを実行したが、メールを送信することはできなかった。 ### 発生している問題・エラーメッセージ メール送信ができないので、エラーログを確認 ``` less /var/log/maillog ``` エラー出力 ``` Aug 1 12:50:25 os3-380-23359 postfix/qmgr[1072]: 2B8A41F700: from=, size=339, nrcpt=1 (queue active) Aug 1 12:50:55 os3-380-23359 postfix/smtp[8847]: connect to gmail-smtp-in.l.google.com[64.233.188.27]:25: Connection timed out Aug 1 12:51:25 os3-380-23359 postfix/smtp[8847]: connect to alt1.gmail-smtp-in.l.google.com[173.194.223.26]:25: Connection timed out Aug 1 12:51:55 os3-380-23359 postfix/smtp[8847]: connect to alt2.gmail-smtp-in.l.google.com[209.85.146.27]:25: Connection timed out Aug 1 12:52:25 os3-380-23359 postfix/smtp[8847]: connect to alt3.gmail-smtp-in.l.google.com[173.194.209.27]:25: Connection timed out Aug 1 12:52:55 os3-380-23359 postfix/smtp[8847]: connect to alt4.gmail-smtp-in.l.google.com[142.250.96.27]:25: Connection timed out Aug 1 12:52:55 os3-380-23359 postfix/smtp[8847]: 2B8A41F700: to=, relay=none, delay=223, delays=73/0.01/150 /0, dsn=4.4.1, status=deferred (connect to alt4.gmail-smtp-in.l.google.com[142.250.96.27]:25: Connection timed out) ``` Connection timed outによってメール送信が正常に行われない。 ### DKIM+SPFにて信頼性を上げる 色々と調べたところ以下の記事を見つけた。 Postfixで自分から自分宛てのメールは送受信できるが、他のメールアドレスには送受信できない ここの回答にあるように、DKIMとSPFの設定を行った。以下のサイトを参照して設定をした。 CentOSのPostfixで迷惑メール判定されないようDKIMを設定する DKIMなどの設定を行ったが、それでもメール送信はできなかった。 ### 発生している問題・エラーメッセージ その2 ``` Aug 1 21:01:25 os3-380-23359 postfix/cleanup[13363]: E4BC91F72B: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 4.7.1 Servi ce unavailable - try again later; from= to= Aug 1 21:02:25 os3-380-23359 postfix/pickup[13351]: F3D5F1F72B: uid=0 from= Aug 1 21:02:26 os3-380-23359 postfix/cleanup[13363]: F3D5F1F72B: message-id=<20200801120225.F3D5F1F72B@mail.my-domain.com> Aug 1 21:02:26 os3-380-23359 opendkim[13148]: F3D5F1F72B: signing table references unknown key '20200801._domainkey.my-domain.com' ``` また、Gmail以外のメールに送っても、上手く送信されない。
回答: さくらのサポート情報: 無料お試し期間について教えてください。 念のためですが、VPSがまだお試しの状態ではないでしょうか。 その場合上記URLのように外部に送信できない制限があります。