たぶん一番有名なメールサーバー
とりあえず受信は Qpopper にしとく
apt-get install sendmail
apt-get install cf
apt-get install qpopper
unable to qualify my own domain name
名前解決出来ないと怒るので hosts か dns で
環境的に aaa.net と bbb.net が
外からは、両方同じIPになります
今回の sendmail は aaa.net で
bbb.net 宛は relay する感じ。
sendmail.mc から sendmail.cf は
make して sendmail 再起動
db系は makemap するだけでOK
access_db 有効化
内部192.168.0. をRELAYする
/etc/mail/sendmail.mc
FEATURE(access_db)dnl
/etc/mail/access
192.168.0 RELAY
mailertable 有効化
内部 bbb.net へ送信
/etc/mail/sendmail.mc
FEATURE(mailertable)dnl
/etc/mail/mailertable
bbb.net esmtp:[192.168.0.bbb]
[ 逆引きさせない ]
relay-domains 有効化
外から受け取るようにする
/etc/mail/sendmail.mc
define(`confCR_FILE’, `/etc/mail/relay-domains’)dnl
/etc/mail/relay-domains
aaa.net
bbb.net
bbb.net から受け取れないので追記
ローカルドメイン使わなければOKぽいけど?
(bbb.net は Fedora を使ってます)
/etc/mail/access
localhost.localdomain RELAY
マスカレードすればいいかも
あくまで sendmail の設定
/etc/mail/sendmail.mc
MASQUERADE_AS(`$m’)dnl
外から使うならそれなりに認証を
POP Before か SMTPAUTH あたり
今回は SMTPAUTH でいってみる
SMTPAUTH 設定
sendmailconfig した時に
libsasl とか足りなければ入れる
/etc/mail/sasl/Sendmail.conf
pwcheck_method: sasldb
#pwcheck_method: PAM
auto_transition: true
認証IDの追加
saslpasswd -u aaa.net test
ID test@aaa.net で認証する
確認
sasldblistusers
/etc/sasldb
user: test realm: aaa.net mech: CRAM-MD5
user: test realm: aaa.net mech: DIGEST-MD5
user: test realm: aaa.net mech: PLAIN
この辺が出ればOK
50-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN ← 対応してる認証方式
250-DELIVERBY
250 HELP
AUTH CRAM-MD5 ← 使った認証方式
334 PDIyODk2NjA1ODEuMjUyMjQzNUBkZ ← パスワード的なもの
235 2.0.0 OK Authenticated ← 成功
Maildir へ配送
courier-pop とか
Maildir に対応した物を入れる
ローカル配送を procmail に変更する
/etc/mail/sendmail.mc
FEATURE(`local_procmail’)
procmail の設定
/home/.procmailrc
LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
メールフォルダ作成
maildirmake Maildir
/bin/mail が Maildir の
チェックが出来ないから使ってない
POP before SMTP
受信したら、送信出来るようになる
Sendmail+DRAC+Qpopper で
Debian だとパッケージがあったり
apt-get install qpopper-drac
/etc/drac/dracd.allow
strings /var/lib/drac/dracd.db
/etc/mail/sencmail.mc
LOCAL_CONFIG
## Custom configurations below (will be preserved)
#dynamic relay authorization control map
Kdrac btree /var/lib/drac/dracd
LOCAL_RULESETS
SLocal_check_rcpt
#allow recent POP/IMAP mail clients to relay
R$* $: $&{client_addr}
R$+ $: $(drac $1 $: ? $)
R? $@ ?
R$+ $@ $#OK