MailgunのBatchSending機能を用いて、SMTPでメールを送信する機能を実装中です。SMTPの場合は、送信先(To)に %recipient%
を指定して送信する必要がありますが、Postfixがアドレスを変換してしまうため、うまく送信ができません。他のアドレスには影響を与えたくないため、 %recipient%
のみアドレス変換がなされないようにしたいのですが、どのように設定すればいいでしょうか。
参考
初期のアドレス変換結果
%recipient%
-> %recipient@
allow_percent_hack = no
の設定追加後のアドレス変換結果
%recipient%
-> %recipient%@example.com
「%recipient%」のみに限定することはできませんが、"append_at_myorigin = no" とするとドメイン部の補完はされなくなります。
ただ、ドメイン部がないと local 扱いになって、外部に転送できないのではないでしょうか。
ご回答ありがとうございます。
別途、ヘッダー情報を元にリレー先にMailgunのサーバーを指定しているので、それは大丈夫なのかと思うのですが、下記のようなエラーとなりました。
```
to=<%recipient%>, relay=smtp.mailgun.org[xx.xx.xx.xx]:587, delay=1.7, delays=0.01/0.03/1.3/0.32, dsn=5.0.0, status=bounced (host smtp.mailgun.org[xx.xx.xx.xx] said: 501 Invalid command or cannot parse to address (in reply to RCPT TO command))
```
ログに`orig_to`が出ていないので、アドレス変換はなされていないようですが、うまくいきません。
ただ、ドキュメントには下記の記載もあるので、`append_at_myorigin`をOFFにするのはNGなのですかね。
> 注意1: この機能はデフォルトで有効になっており、無効にしてはいけません。 Postfixはドメインのないアドレスをサポートしていません。
http://www.postfix-jp.info/trans-2.3/jhtml/postconf.5.html#append_at_myorigin
SMTP連携ではなく、APIを使用するように変更しましたので、本件クローズさせていただきます。
なお、Mailgunの当該仕様(Toに `%recipient%` を指定する仕様)が微妙だといったStackOverflowの記事を見つけましたので、共有させていただきます。
https://stackoverflow.com/questions/37948729/mailgun-smtp-batch-sending-with-recipient-variables-shows-all-recipients-in-to-f
根本解決ではありませんので、解決方法には記載していませんが、問題ありましたらご指摘ください。
回答1件
あなたの回答
tips
プレビュー