外部にメール送信できるようPostfix設定
saslauthd設定
/etc/sysconfig/saslauthd
/etc/shadow を利用した認証方法に変更
# MECH=pam MECH=shadow
再起動してOSユーザ名とパスを使って動作確認。
$ service saslauthd restart $ testsaslauthd -u user -p pass 0: OK "Success."
postfix設定
/etc/postfix/master.cf
submissionサービスをsasl認証つきで利用
submission inet n - n - - smtpd # -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING
/etc/postfix/main.cf
sasl認証済のユーザは任意の宛先へ送信可能とする
http://www.aconus.com/~oyaji/bbs/wforum.cgi?mode=allread&pastlog=0012&no=7547&page=120&act=past
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
さいきどう。
$ service postfix restart Shutting down postfix: [ OK ] Starting postfix: [ OK ]
送信確認
事前にユーザ名とパスワードをbase64化しておく。
# echoは末尾に改行をつけて出力する。-n は改行をつけないオプション $ echo -n user | base64 USERBASE64= $ echo -n pass | base64 PASSBASE64=
プロトコル直利用でメール送信。
$ telnet localhost 587 EHLO example.com 250-example.com 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH LOGIN 334 VXNlcm5hbWU6 USERBASE64= 334 UGFzc3dvcmQ6 PASSBASE64= 235 2.7.0 Authentication successful MAIL FROM: user@example.com 250 2.1.0 Ok RCPT TO: mymailaddress@x.com 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> hello! hello! .
TLS設定
あとでやる。