$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
2007-05-19 (土曜日) In: postfix(492 views)
こっちに来てからしばらくbigpondのダイアルアップを使っていたが昨日からADSL環境に変わりました。そうしたら突然自分のSMTPサー バー経由でメールが送れなくなったのでADSL回線ではOutbound Port 25 Blocking(OP25B)を行なっていることがわかりました。
そこでpostfixでサブミッションポートの設定をしました。
要するに25番ポートでSMTPを叩くのではなく別のポート(587)でSMTPを叩いて25番ポートのブロックを回避するというものです。当然その別のポートは素のSMTPではなくSMTP-AUTHとかでユーザー認証を行なうように設定されていないといけません。
自分のところのpostfixでは元々SMTP-AUTHで使っていたので単にサブミッションポートを使えるようにすればOKでした。
/usr/local/etc/postfix/master.cf に対し、
[code] submission inet n - n - - smtpd -o smtpd_etrn_restrictions=reject -o smtpd_client_restrictions=permit_sasl_authenticated,reject [/code]
の設定を行なって postfix reload でOK。
あとは、メールクライアントの SMTPポートを25から587に変更すればOK。
postfixでvirtual domainを使えるようにする。
/usr/local/etc/postfix/main.cf のmydestinationにvirtual domainで使いたいドメイン名を追記する。具体的には、
mydestination = $myhostname, localhost.$mydomain $mydomain ほげほげドメイン1 ほげほげドメイン2 ほげほげドメイン3 ほげほげドメイン4
と行頭にスペースを入れたドメイン名リストを追記すればOK。さらに、main.cfに、
virtual_maps = hash:/usr/local/etc/postfix/virtual
を追記。
/usr/local/etc/postfix/virtualというファイルを下記のように作る。
hoge1@ほげほげドメイン1(tab)受け取るアカウント1 hoge2@ほげほげドメイン2(tab)受け取るアカウント2 hoge3@ほげほげドメイン3(tab)受け取るアカウント3 hoge4@ほげほげドメイン4(tab)受け取るアカウント4
そんでもって、
# postmap /usr/local/etc/postfix/virtual # postfix reload
で使えるようになる。
これはportsには入っていないので、fmlのサイトから取ってくる。
今回はfml-4.0-stable-20040215.tar.gzを採用。
事前に、”fml”をユーザーとグループに登録。
あらかじめ/var/spool/mlを作ってfml:fmlにchownしておく。
次に、落としてきたファイルを適当なディレクトリに展開。展開されたディレクトリに下りて、
# ./makefml install
で、インストール。
色々訊いてくるので適切に答えて終わり。
posftixの設定はmain.cfを下記の通り変更。
default_privs = fml
allow_mail_to_commands = alias,forward,include
alias_maps = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases
alias_database = hash:/etc/aliases, hash:/var/spool/ml/etc/aliases
MLの作成追加でaliasesをいじる場合は/var/spool/ml/etc/alisesをいじってその場でnewaliasesでOK。 /etc/newaliasesにMLのaliasesをappendするように書いてある事が多いが、こちらの方法の方がrootな作業が少なくてベ ター。
あと、MLのドメイン名を mydestination に追加しておく。
postfixを再起動しておくのを忘れないように。
MLの作成は /usr/local/fml/makefml newml “メーリングリスト名” で。
設定変更は /usr/local/fml/makefml config “メーリングリスト名” 。
参考リンク: fml
「送信元のIPアドレスによる制限」を行う。
/usr/local/etc/postfix/main.cf に下記を追加
###############
# sender restriction
#
smtpd_client_restrictions = permit_mynetworks check_client_access hash:/usr/local/etc/postfix/reject_client
/usr/local/etc/postfix/reject_client を下記のように作成。
IPアドレス1(tab)REJECT
IPアドレス2(tab)REJECT
IPアドレス3(tab)REJECT
DBファイル作成してpostfixを再起動
# postmap /usr/local/etc/postfix/reject_client
# postfix reload
sasl2を入れてsmtp-authを有効にするために/usr/local/etc/postfix/main.cfに以下を追加。
[code]
####################
# SMTP AUTH w/SALS2
#
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
[/code]
/usr/local/lib/sasl2/smtpd.confを作る。
[code]
# cat /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login
[/code]
/etc/sasldb2を用意しておく。
[code]
# touch /etc/sasldb2
# chown postfix:postfix /etc/sasldb2
[/code]
smtp-authのユーザーを作る。
[code]
# saslpasswd2 -c -u `postconf -h myhostname` username
[/code]
パスワードを二回訊いてくるので入力する。
ユーザーのパスワードの変更
[code]
# saslpasswd2 -u `postconf -h myhostname` username
[/code]
同じくパスワードを二回訊いてくるので入力する。
ユーザーの削除
[code]
# saslpasswd2 -u `postconf -h myhostname` -d username
[/code]
ユーザーの確認
[code]
# sasldblistusers2
[/code]
/usr/ports/mail/postfix のインストール
# portinstall mail/postfix
で一発。オプションはPCREとSASL2とTLSを指定。
Added group “postfix”.
Added group “maildrop”.
Added user “postfix”.
You need user “postfix” added to group “mail”.
Would you like me to add it [y]?
と訊いてくるところはそのままエンター(y)。
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?
ここはsendmailではなくpostfixを有効にしたいので”y”。
postfix-2.3.4,1
cyrus-sasl-2.1.22
pcre-6.7
がインストールされました。
あとの設定は、/etc/rc.confで
postfix_enable=”YES”
sendmail_enable=”NO”
sendmail_submit_enable=”NO”
sendmail_outbound_enable=”NO”
sendmail_msp_queue_enable=”NO”
/usr/local/etc/postfix にmain.cfがあるので、cp -p main.cf main.cf.orgでバックアップしてから編集。
myhostname = virtual.domain.tld
mydomain = domain.tld
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain $mydomain
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
rehash かけたあと、newaliasesしておけば一応OK。
mailbox_size_limit = 0
postfixを使ってます。あまり見ないmailboxが時々満杯になっていたりします。デフォルトのままだと50MBがリミット。
無制限にするには↑のように”0″をmain.cfで指定する。 postfix reload を忘れないように。
日々の四方山話を徒然と・・・
いらっしゃいませ。このブログはオーストラリアの生活に関する話題とFreeBSDに関連する話題を主に色々と書き綴っています。
Sorry, This site consists of Japanese contents only. If you are interested in my blog, feel free to leave your comments in English or Japanese. Thank you.