当前位置: 首页 > 工具软件 > Sieve > 使用案例 >

RedHat使用postfix+dovecot+sieve实现mailfilter

谷博艺
2023-12-01

经过努力,以及项目经理的死犟,终于还是用dovecot+sieve实现了filter。

因为时间问题,直接贴出汇报正文,就不再写一遍中文了。(日语也大体能看懂)

正文

メールサーバの設定

①rootユーザになります。

・su -

②パッケージのインストール

メール受信の許可や拒否を実現するため、以下パッケージが必要です。

dovecot-pigeonhole

このパッケージにsieveは含めっています。

・パッケージをインストールします。

・yum --disablerepo=* --enablerepo=rhel-dvd install dovecot-pigeonhole

③postfixの設定

postfixは送受信のプラグインです。

メール受信の許可や拒否を実現するため、dovecotに転送して、dovecotで受信機能を行います。

postfixの設定ファイルを設定します。

・設定ファイルをバックアップします。

・cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org201811

・設定ファイルを設定します。

・vim /etc/postfix/main.cf

・mailbox_command = /usr/libexec/dovecot/deliver -d “ U S E R " − f " USER" -f " USER"f"SENDER” -a “$RECIPIENT” --コメントアウトして、設定します。

・virtual_transport = dovecot --ファイルの最後に追加します。

・virtual_mailbox_base = /Maildir --ファイルの最後に追加します。

③dovecotの設定

・メイン設定ファイルをバックアップします。

・cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.org201811

・メイン設定ファイルを設定します。

・vim /etc/dovecot/dovecot.conf

・protocols = imap pop3 lmtp sieve --コメントアウトして、設定します。

sieveについて設定ファイルを設定します。

・先に設定ファイルを作成します。

・cp -p /usr/share/doc/dovecot-2.0.9/example-config/conf.d/90-sieve.conf /etc/dovecot/conf.d/

・cp -p /usr/share/doc/dovecot-2.0.9/example-config/conf.d/20-managesieve.conf /etc/dovecot/conf.d/

・この二つファイルはデフォルトのままでいいです。

・設定ファイルをバックアップします。

・cp -p /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/conf.d/15-lda.conf.org201811

・vim /etc/dovecot/conf.d/15-lda.conf

・postmaster_address = “$USER” --全てユーザを使えるように、コメントアウトして、設定します。

・mail_plugins = $mail_plugins sieve --コメントアウトして、設定します。

・設定ファイルをバックアップします。

・cp -p /etc/dovecot/conf.d/20-lmtp.conf /etc/dovecot/conf.d/20-lmtp.conf.org201811

・vim /etc/dovecot/conf.d/20-lmtp.conf

・mail_plugins = $mail_plugins sieve --コメントアウトして、設定します。

dovecotを再起動します。

・service dovecot restart

全てユーザを使えるように、以下ファイルの権限を変わります。

・chmod -R 777 /etc/dovecot/conf.d

全てユーザ権限を付かないなら、Imapの接続は出来ません。

・chmod 777 /var/run/dovecot/auth-userdb

最后总结

之前调查的时候,其实已经是配置好了,但是为什么不好用。

①当时怎么都找不到log出力到了哪里,最后发现,系统log服务停了。。。。让我无语两秒。

mail服务的log就放在 /var/log/maillog中,如果服务启动了,就能看到mail相关的log了。

②通过看log,找到了根本原因,是访问没有权限。

配置文件以及用户制约等,都是需要跨用户来进行读取的。因为我是要拒绝或者许可其他用户。

通过试验发现,一下两个文件/文件夹是必须要有读权限的,我就直接将权限都给了。

・chmod -R 777 /etc/dovecot/conf.d

・chmod 777 /var/run/dovecot/auth-userdb

conf.d中是dovecot的各种配置文件,sieve会读它。

auth-userdb这个的作用应该是指向用户的(没有细查)

归根结底还是linux的权限问题。

常年的Windows开发,突然调查Linux,确实太容易忽略这个权限问题了。这里也为大家提供一个思路吧。

呼。

 类似资料: