自宅サーバーを作る楽しみの一つに、メールサーバーを構築する事が挙げられます。
プロバイダから支給されるメールアドレスには、勝手に名前は決められませんし、メールアドレスの変更も簡単ではありません。
おまけに、メールアドレスを一つ増やすだけで、お金を取るプロバイダも存在しています。
この点、自宅サーバーは気楽なものです。
どんな名前でもでも作成できますし、追加も削除も自由自在です。
ところが、近年(と言っても数年前からになりましたが)、メールの受信は自由に行えますが、メールの発信が出来なくなっていまいました。
その元凶である OP25B(Outbound Port 25 Blocking)対策について考えます。
長くなるので結論だけを書きます。
プロバイダ(ISP)の25番ポートを使用しないで、送信専用ポート(submission)の587番ポートを使えば良い訳です。
使うにはプロバイダの認証が必要ですから、あらかじめメールのIDとパスワードの設定情報ファイルを作成しておいて、それを送信時に付加してやればメールの送信も可能です。
ただ、プロバイダの認証を通すのが、認証方式などプロバイダ毎に差があって、難しいようです。
私の場合、プロバイダはヤフーではありませんが、以前と同様に下記のように設定したらすんなりと送信できました。
ヤフーの場合を例にして記載してみました。
但し、ヤフーの場合はこれだけでは送信しないようです。(送信時にエラーが出ないので、送信できたと思っても届いておりません)
ヤフーは直ぐにメールを送信しないと言う説もあって、どんな具合なのかが、はっきりしません。
後で届く場合がありますので、単に配信が遅いだけの感じもしますが、それでは使い物になりません。
root@meckk:~# vi /etc/postfix/main.cf
リレーホストの部分をヤフーに設定します。
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = [ybbsmtp.mail.yahoo.co.jp]:587
次に最後部に以下を追記します。
# readme_directory: The location of the Postfix README files.
#
#readme_directory =
message_size_limit = 10485760
mailbox_size_limit = 1073741824
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth-client
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authe
nticated,reject
#smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN
ここが最後になる。
root@meckk:~# vi /etc/postfix/authinfo
[ybbsmtp.mail.yahoo.co.jp]:587 アカウント名:パスワード
587の後にスペースを1個入れて、指定されたアカウント名を入れて、コロン、メールのパスワードを入れます。
root@meckk:~# chmod 640 /etc/postfix/authinfo
root@meckk:~# postmap /etc/postfix/authinfo
root@meckk:~# vi /etc/postfix/master.cf
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
submission inet 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
smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
以下省略
root@meckk:~# /etc/init.d/postfix restart
root@meckk:~# /etc/init.d/dovecot restart
| |
設定方法については、私も良く分からない部分が多いです。
解説のサイトも多いですが、記載の時期やプロバイダによっても、微妙に異なっております。
送信できない場合には、試行錯誤する必要がありそうです。
特にヤフーの場合は、設定方法によってはメールが直ぐに配信されるようになると思います。
【Tips】
宛先不明のメール送信報告が毎日大量に届くようになりました。
送り先(発信先)を見ると、××××@hotmail.com などが大部分で、てっきりサーバーに侵入されてスパムメールの発信基地になってしまったと思いました。
どこから発信しているのだろうと調べたら、どうやら UseBB の新規登録の場合にパスワードを登録者にメール送信しているのが宛先不明になっているようです。
メールアドレスで検索するとスパムメールの発信者のメールアドレスを記載していたりします。
単なるいたずらのようですが、ひどい世の中になったものです。
取り敢えず、UseBB掲示板 を閉鎖(元々が公開テスト)すると共に、外部へのメール発信(転送)も停止しました。
これで、しばらく様子を見ようと思っています。
大量に貯まっているメールキューの一括削除は、postsuper -d ALL コマンドです。