Postfix:電子メール配信用の送信

Postfix:電子メール配信用の送信

仮想ユーザーが正しく実行されるPostfix設定があります。私のユーザーの中には、便宜上、[email protected]電子メールを外部の電子メールGmailアカウントにリダイレクトしました。[email protected]virtual_alias_maps

transport_maps次に、次のように特別な転送を使用してこれらの転送を実行しようとしています。

メイン.cf:

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_alias_maps = mysql:/etc/postfix/virtual/mysql-alias-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/virtual/mysql-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-mailbox-maps.cf
default_transport = out-default
transport_maps = mysql:/etc/postfix/virtual/mysql-transport-maps.cf

master.cf:

out-default   unix  -       -       n       -       -       smtp
 -o proxy_interfaces=$smtp_default_transport_proxy_interface
 -o smtp_bind_address=$smtp_default_transport_interfaces
 -o inet_interfaces=$smtp_default_transport_interfaces
 -o myhostname=$smtp_default_transport_hostname
 -o smtp_helo_name=$smtp_default_transport_hostname
 -o syslog_name=smtp-$smtp_default_transport_hostname
out-fwd   unix  -       -       n       -       -       smtp
 -o proxy_interfaces=$smtp_default_transport_proxy_interface
 -o smtp_bind_address=$smtp_default_transport_interfaces
 -o inet_interfaces=$smtp_default_transport_interfaces
 -o myhostname=$smtp_default_transport_hostname
 -o smtp_helo_name=$smtp_default_transport_hostname
 -o syslog_name=smtp-fwd-$smtp_default_transport_hostname
 -o bounce_queue_lifetime=0
 -o maximal_queue_lifetime=0

mysql-エイリアス-maps.cf:

query = SELECT destination FROM `aliases` WHERE source='%s'

mysql-転送-maps.cf:

query = SELECT IF (ISNULL(destination), NULL, 'out-fwd') as transport \
FROM `aliases` \
WHERE destination='%s' \
AND destination LIKE '%%@gmail.com'

私が達成したいのは、「ユーザーが@gmailに電子メールを渡すと、キューの寿命が短くなります。

今、これらのユーザーに電子メールを送信しようとすると、次のことが起こります。

postfix/qmgr[28839]: warning: connect to transport private/out-fwd,out-fwd: No such file or directory

個人/外部振替、外部転送>配送名が繰り返されるのはなぜですか?

out-fwd:(最後にコロン)を返すようにクエリを変更すると、次のような結果が得られます。

smtp-fwd-xxxx/smtp[23429]: fatal: valid hostname or network address required in server description: ,out-fwd:

、out-fwd:??

私がコメントしたら、transport_maps電子メールはdefault_transport = out-default良い方法で配信されますので、参考にしてください。

ありがとうございます。

ベストアンサー1

この質問を見つけましたが、これが私の問題です。同じ外部Gmailアカウントに転送/エイリアスを指定する複数のローカルアカウントがあり、何らかの理由でPostfixが結果をリンクしている場合、上記のクエリは複数の結果を返します。

query = SELECT IF (ISNULL(destination), NULL, 'out-fwd') as transport \
FROM `aliases` \
WHERE destination='%s' \
AND destination LIKE '%%@gmail.com' \
LIMIT 1

修正が追加されましたLIMIT

おすすめ記事