質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

910閲覧

Postfixでメール転送

lion

総合スコア1

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

0クリップ

投稿2022/07/12 06:11

CentOS7を使用し、Postfixでメールサーバーを構築しております。
SpamAssassinでスパムチェック、ClamAVでウイルスチェックし、dovecotでバーチャルドメインへメールを振り分けしています。

このときPostfixでメール転送しているのですが、スパムまたはウイルス判定したメールも転送してしまいます。
スパムまたはウイルス判定したメールは転送せず、正常なメールのみ転送するようにするには、どのようにすればよいかご教示ください。

よろしくお願いいたします。

main.cf

1#SMTP認証 2smtpd_sasl_auth_enable = yes 3 4smtpd_recipient_restrictions = 5 permit_sasl_authenticated 6 reject_unauth_destination 7 check_policy_service unix:private/policy-spf 8 9minimal_backoff_time = 100s 10maximal_backoff_time = 600s 11maximal_queue_lifetime = 86400s 12bounce_queue_lifetime = 86400s 13 14message_size_limit = 0 15mailbox_size_limit = 0 16 17smtp_tls_security_level = may 18smtpd_tls_security_level = may 19smtpd_tls_cert_file = /etc/letsencrypt/live/example.co.jp/fullchain.pem 20smtpd_tls_key_file = /etc/letsencrypt/live/example.co.jp/privkey.pem 21smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache 22tls_high_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES 23smtp_tls_ciphers = high 24smtpd_tls_ciphers = high 25smtpd_tls_mandatory_ciphers = high 26smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3 27smtp_tls_mandatory_protocols=!SSLv2,!SSLv3 28smtpd_tls_protocols=!SSLv2,!SSLv3 29smtp_tls_protocols=!SSLv2,!SSLv3 30smtp_tls_loglevel = 1 31 32milter_protocol = 6 33milter_mail_macros = {auth_author} {auth_type} {auth_authen} 34 35#virtual mail box 36virtual_transport = lmtp:unix:private/dovecot-lmtp 37virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf 38virtual_mailbox_base = /home/virtualmail 39virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf 40virtual_minimum_uid=100 41virtual_uid_maps=static:5000 42virtual_gid_maps=static:5000 43virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf 44virtual_mailbox_limit = 0 45 46#sasl 47smtpd_sasl_type = dovecot 48smtpd_sasl_path = private/auth 49broken_sasl_auth_clients = yes 50smtpd_sasl_authenticated_header = yes 51 52#SPF 53policy-spf_time_limit = 3600 54 55#DKIM 56smtpd_milters = unix:/var/run/milter-manager/milter-manager.sock 57 inet:127.0.0.1:8891 58non_smtpd_milters = $smtpd_milters 59milter_default_action = accept

master.cf

1smtp inet n - n - - smtpd 2#smtp inet n - n - 1 postscreen 3#smtpd pass - - n - - smtpd 4#dnsblog unix - - n - 0 dnsblog 5#tlsproxy unix - - n - 0 tlsproxy 6submission inet n - n - - smtpd 7 -o smtpd_sasl_auth_enable=yes 8smtps inet n - n - - smtpd 9 -o smtpd_tls_wrappermode=yes 10 -o smtpd_sasl_auth_enable=yes 11pickup unix n - n 60 1 pickup 12cleanup unix n - n - 0 cleanup 13qmgr unix n - n 300 1 qmgr 14#qmgr unix n - n 300 1 oqmgr 15tlsmgr unix - - n 300 1 tlsmgr 16rewrite unix - - n - - trivial-rewrite 17bounce unix - - n - 0 bounce 18defer unix - - n - 0 bounce 19trace unix - - n - 0 bounce 20verify unix - - n - 1 verify 21flush unix n - n 1000? 0 flush 22proxymap unix - - n - - proxymap 23proxywrite unix - - n - 1 proxymap 24smtp unix - - n - - smtp 25relay unix - - n - - smtp 26#-o smtp_helo_timeout=5 -o smtp_connect_timeout=5 27showq unix n - n - - showq 28error unix - - n - - error 29retry unix - - n - - error 30discard unix - - n - - discard 31local unix - n n - - local 32virtual unix - n n - - virtual 33lmtp unix - - n - - lmtp 34anvil unix - - n - 1 anvil 35scache unix - - n - 1 scache 36 37#SPF認証設定 38policy-spf unix - n n - 0 spawn 39 user=nobody argv=/usr/bin/python /usr/libexec/postfix/policyd-spf /etc/python-policyd-spf/policyd-spf.conf

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Postfix 自身には、メールの振分機能は無いと思いますので、Dovecot を使われているのであれば、Sieve 等のフィルタを導入してフィルタや転送するのが良いのでは無いでしょうか。

投稿2022/07/12 06:27

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lion

2022/07/14 01:17

回答ありがとうございます。 調べたところ特定のメールアドレスに転送することはできそうでした。 ただ今回の場合、宛先ごとに転送先が異なっています。転送先はMySQLに入っています。 sieveのスクリプトの中でMySQLを参照することはできるのでしょうか。
CHERRY

2022/07/14 04:13

Sieveスクリプトに SQL を書くことはできないと思いますが、振り分ける条件によってはスクリプトでデータベースを参照して条件を設定した Sieveスクリプトを自動生成することで解決できる可能性はあると思います。
lion

2022/07/16 08:46

今の自分ではsieveスクリプトの自動生成までは難しそうなので、今後色々勉強していければと思います。 何度も回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問