Recent Posts

Archives

Blog Ranking

Favorite

ExchangeRate

Update: 2012-02-07 21:00
by ロイター
 

sendmail

 

sendmailとdovecotでMaildir形式設定

水曜日, 12 月 24th, 2008

デフォルト(?)は

/var/spool/mail/xxxxx

に、メールがたまっていくようになってますが、
これをMaildir形式に変更します。

sendmail自身はMaildir形式に対応していないので、
procmailでMaildirへ配送します。

/etc/procmailrcをこんな感じでつくります。

 —–
 SHELL=/bin/bash
 PATH=/usr/bin:/bin
 DROPPRIVS=yes
 MAILDIR=$HOME/Maildir
 DEFAULT=$MAILDIR/
 —–

で、ユーザーを追加したときに自動でMaildirが作られるようにします。

 mkdir /etc/skel/Maildir
 mkdir -p /etc/skel/Maildir/new
 mkdir -p /etc/skel/Maildir/cur
 mkdir -p /etc/skel/Maildir/tmp
 chmod -R 700 /etc/skel/Maildir

/etc/dovecot.confを編集

 —–
 mail_location = maildir:~/Maildir
 —–

sendmailとdovecotを再起動

 # /etc/init.d/sendmail restart
 # /etc/init.d/dovecot restart

既存ユーザのメールをMaildir形式に移行するときは
ココを参考に。

メールデータ移行

↓役に立ったと思ったら・・・

 

 

メールサーバ構築 (sendmail + dovecot + saslauthd)

月曜日, 12 月 22nd, 2008

SMTP認証とOB25(Outbound Port25 Blocking)対応するとこまで。
我流なところもあるので、一般的ではないかもしれませんが。

まず、/etc/mail/sendmail.mcを編集

 —–
 この2行のコメントを外す

 dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
 dnl define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
 ↓
 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
 define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl

 この行を編集

 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)dnl
 ↓
 DAEMON_OPTIONS(`Port=smtp, Name=MTA’)

 この行のコメントを外す

 dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea’)dnl
 ↓
 DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea’)dnl
—–

/etc/mail/sendmail.cfを生成

 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

/etc/mail/sendmail.cfを編集

 —–
 Cwの行にメールサーバで受信するドメインを記述
 複数ある場合は半角スペースをいれて

 Cwlocalhost
 ↓
 Cwfunny-k.com xxxxxx.jp yyyyy.net zzzzzzzz.jp

 Djの行にメールサーバのホスト名+ドメイン名を記述

 #Dj$w.Foo.COM
 ↓
 Djfunny-k.com
 —–

SMTP認証のユーザー名・パスワードと
システムのユーザー名・パスワードを別にしたいので
/usr/lib/sasl2/Sendmail.confを編集

 —–
 pwcheck_method:saslauthd
 ↓
 pwcheck_method:auxprop
 —–

各サービスを起動

 # /etc/init.d/sendmail start
 # /etc/init.d/saslauthd start
 # /etc/init.d/dovecot start

自動起動設定

 # chkconfig sendmail on
 # chkconfig saslauthd on
 # chkconfig dovecot on

ファイアウォールで下記ポートをOPENする

 TCP 25 [...]

 

sendmailでバーチャルドメイン

土曜日, 5 月 24th, 2008

1台のメールサーバで、「xxxxx.com」と「zzzzz.net」のドメインのメールを処理したい。
 
ユーザー名(アカウント名)が100%かぶらなければ、それほど問題はないけど、
今回、この問題に直面してしまった。
 
 
で、いろいろと調べたりした結果、こんな感じで解決。
 
 
たとえば、
「user@xxxxx.com」と「user@zzzzz.net」というメールアドレスを使いたいとします。
 
sendmail.mc(sendmail.cf)は適宜変更。ここは問題ないでしょう。
 
次にユーザを作成。
通常であれば、
 
useradd -s /sbin/nologin user
 
とするところですが、こんな風にしました。
 
useradd -s /sbin/nologin user.xxxxx.com
useradd -s /sbin/nologin user.zzzzz.net
 
そして、「/etc/mail/virtusertable」にこのように記述します。
 
—–
user@xxxxx.com   user.xxxxx.com
user@zzzzz.net   user.zzzzz.net
—–
 
で、
 
makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
これで、OK!
 
 
メーラーでアカウントを設定するときは、ユーザー名のところを
「user.xxxxx.com」または「user.zzzzz.net」とします。
 
 
できてみると、結構簡単ですね。

 

メールのスプール

火曜日, 2 月 5th, 2008

何らかの原因で送信されなかったメールは
/var/spool/clientmqueue
にスプールされる。
放っておくとどんどんたまって、ディスクを圧迫する可能性があるので、定期的に削除するなどの対応が必要。

 

sendmailの不正リレー防止

土曜日, 12 月 22nd, 2007

/etc/mail/sendmail.mc の以下の行を有効にします
FEATURE(`access_db”,`hash -o /etc/mail/access.db”)dnl
/etc/mail/access にリレーを許可するIPアドレスを記述します
たとえば、ローカル(192.168.1.0/24)からの送信を許可する場合は、
———-
192.168.1 RELAY
———-
そして、makemapコマンドでaccessファイルをデータベースに変換します
makemap -v hash /etc/mail/access.db < /etc/mail/access
最後に、sendmailを再起動して完了。
service sendmail restart