经过努力,以及项目经理的死犟,终于还是用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,确实太容易忽略这个权限问题了。这里也为大家提供一个思路吧。
呼。