開発環境のMacからメールを送信するために必要な事。メールサーバ(Postfix)の設定と起動、OP25B対策。
とりあえずwebアプリ制作において開発環境からメール送信できればいいのでそれなりの設定です。
本格的なメールサーバーとしては運用できませんのであしからず。
OP25Bとは
主要プロバイダを使っている場合はほぼ対策しなくてはメールが送れません。なぜならプロバイダが25番ポートでの接続を遮断してしまうからです。25番ポートを使った通信が出来ません。
対策としては契約しているプロバイダ経由でメールを送ります。
OP25Bの確認
OP25B(Outbound Port 25 Blocking)対策 - CentOSで自宅サーバー構築
$ telnet smtp.gmail.com 25 Trying 74.125.25.108... telnet: connect to address 74.125.25.108: Operation timed out Trying 74.125.25.109...
こうなったらOP25Bの影響を受けています。
⌘(command)+. あるいは control+c で止めましょう。
587番ポートなら接続可能です。
$ telnet smtp.gmail.com 587 Trying 74.125.25.108... Connected to gmail-smtp-msa.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP n11sm6774215pby.67 quit
SMTP AUTHの設定
プロバイダの...と書いていますが、自サーバのメールサーバ使った設定にしてしまいます。
※プロバイダ経由の場合の設定ははココが参考になると思います。
$ sudo vi /etc/postfix/sasl_passwd [smtp.clicktx.jp]:587 myname@clicktx.jp:password $ sudo postmap /etc/postfix/sasl_passwd
※ /etc/postfix/sasl_passwd.db というファイルが出来ます。
main.cfの設定
postfixの設定ファイルmain.cfを編集します。
$ sudo vi /etc/postfix/main.cf
該当箇所に追記or修正
relayhost = [smtp.clicktx.jp]:587
最終行に追記
# Enable SASL authentication in the Postfix SMTP client. smtp_sasl_auth_enable=yes smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd smtp_sasl_security_options= smtp_sasl_mechanism_filter = plain
postfixの起動またはリロード
$ sudo postfix start
$ sudo postfix reload
メール送信テスト
$ mail xxx@hoge.com(宛先) Subject: テストメール テストメール .
参考
-
前の記事
Gunma.web #11 レポート(代理) 2012.12.02
-
次の記事
フォームバリデーションモジュール FormValidator::LazyWayでハマった点 2012.12.26