
メインドメインのサブドメインにある特定のアカウントへのメールを受信できるように、会社のサーバーを設定しようとしています。[メールアドレス]
これらの受信メーラーは、コンテンツ処理を実行する PHP スクリプトをトリガーする必要があります。
私はUbuntu Server 20.0.4を実行しており、PostfixとDovecotがインストールされています。また、courierも使用してみましたが、うまくいきませんでした。
ここまで来ました:
- Linuxユーザーを作成し、ローカルアカウントを有効なメールボックスとして使用するようにpostfixを設定しました
- postfixをsubdomain.domain.comで受信メールを受け入れるように設定しました
- Googleドメインを適切にルーティングするためにサブドメインのAレコードとMXレコードを追加しました
- サブドメインに SSL を設定しました (サブドメインに移動すると、ssllabs および Apache で正常に動作することが確認されました)
- PHP スクリプトをトリガーするために、/etc/postfix/master.cf にいくつかの追加構成を追加しました (現時点では単なるテスト スクリプト/プレースホルダーです)。
smtp inet n - - - - smtpd
-o content_filter=myhook:dummy
...
# PHP SCRIPT HOOK
myhook unix - n n - - pipe
flags=F user=www-data argv=/path/to/script/MailParser.php ${sender} ${size} ${recipient}
timestamp
MailParser.php スクリプトは、単に「受信メールを正常に受信しました」というログ ファイルに書き込みをトリガーします。
これらの設定でsmtper.net経由でメールを送信すると
ログへの書き込みスクリプトが正常にトリガーされ、ユーザーのシステムメールに smtper.net からの「テスト」メッセージが表示されるので、すべて正常なようです。
ただし、Gmail アカウントなどの通常のメール クライアントからメールを送信しようとすると、次のエラーが発生して配信不能として返送されます。
550 5.1.1 連絡しようとしたメールアカウントは存在しません。受信者のメールアドレスに誤字や不要なスペースがないか再度確認してください。詳細については、https://support.google.com/mail/?p=NoSuchUserf16si1842833plj.1 - gsmtp
この時点で行き詰まっています。
答え1
@anx が指摘したように、問題は MX レコードにあることが判明しました。さらに、ドメインの SSL 証明書が完全に構成されていなかったため、これも問題を引き起こしていました。それ以外は、ローカル サーバーの構成は正しく設定されていました。