SMTP-AUTHの設定をしてメールを送れるようにしよう*

05.04.10 / メールのこと / Author:

SMTP-AUTHを設定しないとpostfixでメール送信をすることはできません。

今日は、
・SMTP-AUTHを設定する
・587番ポートを有効にする
…が、課題です!

まず25番ポートでSMTP-AUTHを設定していきます。
terminalを開いて、
いつもどおりsshでサーバーに入ったら、
$ sudo bashでroot権限を得ます。
[root@~]になっていたらやらなくても大丈夫です。

$ vi /etc/postfix/main.cfでpostfixの設定ファイルを編集します。

iコマンドで編集モードにしたら、最終行に↓を追加します。
smtpd_sasl_auth_enable = yes
smtpd_saul_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination

_________

smtpd_sasl_auth_enable = yes で SMTP-AUTHを有効
smtpd_saul_local_domain = $myhostname でローカルドメインを指定
permit_mynetworksでmynetworksで指定されたネットワークからのメール送信を許可
permit_sasl_authenticatedでSMTP認証を通過した場合のみ許可
reject_unauth_destinationでそれ以外を拒否

_________

:wqで終了します。
$ /etc/init.d/postfix reloadでリロードします。

$ /etc/rc.d/init.d/saslauthd startでsaslauthdを起動します。
SMTP-AUTHを利用するときにはSASLというしくみが必要になります。
SASLを用いると、認証の機能や通信路の暗号化の機能を追加できます。
SASLのサービス名がsaslauthdです。OKとでたら起動できてます!

SMTP-AUTHとシステムのユーザー名、パスワードは同じものを使用するので、
$ chkconfig saslauthd onで自動起動設定にして、
$ chkconhig –list saslauthdで自動起動設定を確認します。
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:offとでればオッケーです:)

($ sudo bash)
$ vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_saul_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
:wq
$ /etc/init.d/postfix/ reload
$ /etc/rc.d/init.d/saslauthd start
$ chkconfig saslauthd on
$ chkconhig –list saslauthd

_________

587番ポートを有効にします。

普段は/etc/postfix/main.cfで設定変更しますが、ここにはポート番号がないので、

postfix側のsubmissionを開いて編集します。
$ vi /etc/postfix/master.cfで編集します。
#submission inet n -n – -smtpdを
submission inet n -n – -smtpdにします。#をはずすだけです。

そのあと、
$ /etc/init.d/postfix reload でリロードします。
$ netstat -antl | grep 587で、ポートが開いているか確認します。
tcp 000.0.0.0:587 0.0.0.0:*LISTENとでれば大丈夫です。

つぎに587番ポートにSMTP-AUTHされているか確認します。
$ telnet localhost 587とすると
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 ~とでるので
EHLO localhostと打ちます。
すると、
250-AUTH LOGIN GSSAPI CRAM-MD5 PLAIN DIGEST-MD5とでたら
SMTP-AUTHがされていることがかくにんできたので、quitで終了します。

$ vi /etc/postfix/master.cf
#submission inet n -n – -smtpdから#をはずす。
$ /etc/init.d/postfix reload
$ netstat -antl | greo 587
$ telnet localhost 587で587番ポートにSMTP-AUTHされているか確認
EHLO localhostと打つ。
quit

______________

あとはメールのアプリケーションの環境設定で
送信用メールサーバー(SMTP)にサーバーリストを編集
メールサーバーを追加します。

+を押したらサーバー名をかけるようになるので、サーバー名をいれて完成です^ω^

Comments: 2

Dune // 6月 15th, 2010 - 10:54 PM

$ netstat -antl | greo 587で、ポートが開いているか確認します。

grepのtypoですね~
がんばってください

aico // 7月 22nd, 2010 - 3:36 PM

Duneさん*

コメント&指摘ありがとうございます!
指摘してもらった部分直しました*

全然更新できていないへっぽこサイトですがこれからもよかったらのぞきにきてください♪

Leave a Reply

« | »