postfixのインストールと送信設定
内部のサーバから外部へメール送信(SMTP)の設定を行います。
POPに関してはSPAM対策がしんどいので自宅サーバでは設定しない
SMTPを設定するに当たって気をつけなければならない点に「オープンリレーにしない」「OP25B」「SMTP AUTH」「SPFレコード」があります。
- 「オープンリレーにしない」 外部ネットワークから中継を可能にすると知らぬ間にSPAMの踏み台にされます。そして村八分されます
- 「OP25B」 SPAMとの戦いの中でプロパイダ系のメールサーバは25番ポートでのメール送信を受付しなくなってなっています。(代わりに587番ポートで受付するようになってます)
- 「SMTP AUTH」SMTPはプロトコル自体に認証機能を持って無く、後から認証機能が付きました。なので「POP before SMTP」と「SMTP Authentication」の2つの方法がありひと手間かけて設定してあげる必要があります。
- 「SPFレコード」DNSにSPFレコードを設定することにより、レコードに設定されたIPからのメール送信は信頼できると判断して受信してくれるようになる場合があります。今回はこれは設定しません
postfixのインストールと設定
# chkconfig sendmail off # yum install postfix # vi /etc/postfix/main.cf myhostname = xxxxxxx.com mydomain = xxxxxx.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks_style = subnet mynetworks = 192.168.0.0/24, 127.0.0.0/8 home_mailbox = Maildir/ # chkconfig postfix on # chkconfig --list postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off # /etc/rc.d/init.d/postfix start
これで25番ポートでのメール送信はできるようになりますが、ひと手間掛けます。
自宅サーバだと何かの間違えでSPAM認定されて村八分(接続拒否)されると終わりなのでプロパイダのメールサーバを経由して送信します
# vi /etc/postfix/main.cf relayhost = [smtp.xxxxx.jp]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/smtpauth smtp_sasl_security_options = noanonymous smtp_sasl_mechanism_filter = plain, login # vi /etc/postfix/smtpauth [smtp.xxxxxx.jp]:587 name:password # chmod 640 /etc/postfix/smtpauth # postmap /etc/postfix/smtpauth # /etc/rc.d/init.d/postfix restart
これでプロパイダ経由でメール送信できるようになりました。
最後に手動(telnet)でメール送信して確認
# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 xxxxxx.com ESMTP Postfix HELO xxxxxx.com 250 xxxxx.com MAIL FROM:xxxxxx@gmail.com 250 2.1.0 Ok RCPT TO: xxxxxx@xxxxx.jp 250 2.1.5 Ok DATA 354 End data with <CR><LF>.<CR><LF> From: xxxxxx@gmail.com Subject: test Hello world. . 250 2.0.0 Ok: queued as 0C3CAEA803D quit