new Outlookのアカウント共有ができない。postfixの仮想メールBOX化した。
メーラーにMSのメールを使っているが、new outlookへの移行を則すスイッチがあったり、何回か起動していると勝手に新しいnew outlookに移行されてしまう。
しかし、移行してもimapのアカウントの同期ができないので現状では使えない。
new outlookで同期できない問題は、ユーザー名がメールアドレス固定になっていることなのかなと思って、うちのメールサーバーも仮想メールBOXを作って、ユーザー名をメールアドレスに対応しようかと思った。なぜか、下記のように、imapでユーザー名の指定がない。
classic outlookならユーザー名の指定ができるから、問題なくメールサーバーと同期できるだけど。。。。
仕方ないので、postfixの設定を変更して仮想メールBOXを作成して、ユーザー名をメールアドレスに変更した。しかし依然同期できなかった。メールアドレスだけではダメだった。検索しても、うまく行かないというものでいっぱいで、まだ、プレビューなので、対応を待っていうのが回答のようだ。一応動かないとフィードバックした。後の調査で、new outlookは海外経由でメールサーバーにアクセスが来ることが分かり、Firewallでメールのポートは国内のみにしか許していなかったので、海外向けにもポートを開けて、問題は解決した。
new outlookがPostfixで動くようになった。修正点は、仮想メールBOX対応とFirewallだった。 | misagoのページ
備忘録をかけて、仮想メールBOXにするための設定変更を示す。その延長で、Opendkimのソケット接続で警告が出ていたので合わせて対応した。
nano /etc/postfix/main.cf ← Postfix設定ファイル編集
# Postfix/clamav-milter/SpamAssassin/Opendkim連携設定
smtpd_milters = unix:/var/run/clamav-milter/clamav-milter.socket,unix:/run/spamass-milter/postfix/sock,local:/var/run/opendkim/opendkim.sock
nano /etc/opendkim.conf 設定変更
## Create a socket through which your MTA can communicate.
Socket local:/var/run/opendkim/opendkim.sock
## Required to use local socket with MTAs that access the socket as a non-
## privileged user (e.g. Postfix)
Umask 000
nano /etc/default/opendkim <-新規作成
SOCKET=”local:/var/run/opendkim/opendkim.sock”
nano /lib/systemd/system/opendkim.service
# If you are using OpenDKIM with SQL datasets it might be necessary to start OpenDKIM after the database servers.
# For example, if using both MariaDB and PostgreSQL, change “After=” in the “[Unit]” section to:
# After=network.target nss-lookup.target syslog.target mariadb.service postgresql.service
After=network.target nss-lookup.target syslog.target [Service] Type=simple
EnvironmentFile=-/etc/sysconfig/opendkim
ExecStart=/usr/sbin/opendkim -f $OPTIONS
ExecReload=/bin/kill -USR1 $MAINPID
User=opendkim
Group=opendkim
Restart=on-failure
RuntimeDirectory=opendkim
#RuntimeDirectoryMode=0750
RuntimeDirectoryMode=0777 [Install] WantedBy=multi-user.target
systemctl restart postfix dovecot opendkim
systemctl status postfix dovecot opendkim
/etc/opendkim.conf
ここからが、仮想メールBOX化の設定。
1) Postfix と Dovecot へ仮想メールユーザー用の追加設定を実施する。
#
仮想メールボックス管理ユーザー作成
[root@mail ~]# useradd –uid 20000 –shell /sbin/nologin vmail
# 183行目 : コメントにする
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 438行目 : 変更
home_mailbox = /home/vmail/%d/%n/Maildir
# 最終行に追記
# 複数ドメインを設定する場合はカンマ または スペース区切りで指定
virtual_mailbox_domains = misago.com
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox
virtual_uid_maps = static:20000
virtual_gid_maps = static:20000
#仮想メールBOX用の容量緩和
virtual_mailbox_limit= 0
# 仮想メールボックス(迷惑メールの振り分けにProcmailを利用していてその仮想メールBOX対応)
virtual_transport = procmail
procmail_destination_recipient_limit = 1
#最後に追加
procmail unix – n n – – pipe
flags=R user=vmail argv=/usr/bin/procmail -t -m USER=${user} DOMAIN=${nexthop} /etc/procmailrc [root@mail ~]# vi /etc/dovecot/conf.d/10-auth.conf
# 100行目 : 追記
auth_mechanisms = cram-md5 plain login
# 122行目 : コメント化
#!include auth-system.conf.ext
# 125行目 : コメント解除
!include auth-passwdfile.conf.ext
# 128行目 : コメント解除
!include auth-static.conf.ext [root@mail ~]# vi /etc/dovecot/conf.d/auth-passwdfile.conf.ext
# 8行目 : 変更
passdb {
driver = passwd-file
args = scheme=CRAM-MD5 username_format=%u /etc/dovecot/users
# 11行目 : [userdb] セクション全てコメント化
#userdb {
# driver = passwd-file
# args = username_format=%u /etc/dovecot/users
#…..
#…..
#}
# 21-24行目 : コメント解除して変更
userdb {
driver = static
args = uid=vmail gid=vmail home=/home/vmail/%d/%n
} [root@mail ~]# vi /etc/dovecot/conf.d/10-mail.conf
# 30行目 : 変更
mail_location = maildir:/home/vmail/%d/%n/Maildir [3] 仮想ユーザーアカウントを登録します。 [root@mail ~]# vi /etc/postfix/virtual-mailbox
# 新規登録
# [ユーザーアカウント] [メールボックス] #最後の/は必須
hati@misago.com misago.com/hati/Maildir/
misago@misago.com misago.com/misago/Maildir/ [root@mail ~]# postmap /etc/postfix/virtual-mailbox
# 暗号化パスワード生成
#メーラーのLOGINパスワードになるもの
[root@misago01 conf.d]# doveadm pw -s CRAM-MD5
Enter new password:$XXXXXXXX
Retype new password:$XXXXXXXX
{CRAM-MD5}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Enter new password:$YYYYYYYY
Retype new password:$YYYYYYYY
{CRAM-MD5}YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
postmap /etc/postfix/virtual-mailbox
[root@mail ~]# vi /etc/dovecot/users# 新規登録:先ほど生成したパスワードを転記する。これがメーラーのLOGINパスワードになる。
# [ユーザーアカウント] [パスワード] hati@misago.com:{CRAM-MD5}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
misago@misago.com:{CRAM-MD5}YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
vi /etc/procmailrc← procmail設定ファイル作成
SHELL=/bin/bash
PATH=/usr/bin:/bin
DROPPRIVS=yes
#MAILDIR=$HOME/Maildir
MAILDIR=/home/vmail/$DOMAIN/$USER/Maildir/
DEFAULT=$MAILDIR
# ログ出力先
#LOGFILE=$HOME/Maildir/.procmail.log
LOGFILE=/home/vmail/.procmail.log
LOCKFILE=/home/vmail/.procmail.lock
# 詳細ログ出力
VERBOSE=ON
# SpamAssassinにより判定されたSpam-Levelが一定値(ここでは20)以上の場合は削除
# ※必要なメールが削除されてしまう可能性があることに留意すること
# :0
# * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
# /dev/null
# SpamAssassinがスパム判定したメールはスパム専用メールボックス(/home/misago.com/xxxx/Maildir/.Spam)へ[>
:0
*^X-Spam-Flag: YES
#$HOME/Maildir/.Spam/
/home/vmail/$DOMAIN/$USER/Maildir/.Spam/
/home/vmail/.procmail.log {
missingok
nocreate
notifempty
}
#設定が終わったので、メーラーを再起動
systemctl restart postfix dovecot
#SpamAssassin日次学習スクリプトを仮想メールBOX合わせるための変更
[root@almalinux ~]# vi /etc/cron.daily/spamassassin-learn#!/bin/bash
PATH=/usr/sbin:/usr/bin:/bin
for user in `ls /home/`
do
# 正常メール学習
# 正常メールをSpamAssassinに学習させる
hammail=/home/vmail/misago.com/$user/Maildir/cur
[ -d “$hammail” ] && \
# su $user -s “/bin/bash” -c “sa-learn –ham $hammail | \
su vmail -s “/bin/bash” -c “sa-learn –ham $hammail | \
logger -p mail.info -t ‘sa-learn for $user'”
hammail=/home/vmail/misago.com/$user/Maildir/.Trash/cur
[ -d “$hammail” ] && \
# su $user -s “/bin/bash” -c “sa-learn –ham $hammail | \
su vmail -s “/bin/bash” -c “sa-learn –ham $hammail | \
logger -p mail.info -t ‘sa-learn for $user'”
# スパムメール
spammail=/home/vmail/misago.com/$user/Maildir/.Spam/cur
# スパムメール学習
if [ -d “$spammail” ]; then
# スパムメールをSpamAssassinに学習させる
# su $user -s “/bin/bash” -c “sa-learn –spam $spammail | \
su vmail -s “/bin/bash” -c “sa-learn –spam $spammail | \
logger -p mail.info -t ‘sa-learn for $user'”
# 受信後一ヶ月経過したスパムメールを削除
tmpwatch -m 720 $spammail
fi
done
最近のコメント