/etc/postfix/main.cf の設定の続き。
SMTPサーバの認証に関する部分で,おそろしく設定に悩んだ部分です。
はじめる前に,今日まで歩んできた道を簡単に説明しましょう。
1.ダイナミックDNSの登録をし,その登録にあわせて玄箱のホスト・ドメイン名を設定 変更した。
2.いろんなWebページを見ながら,postfix, dovecot, cyrus-sasl をインストール
3.いろんなWebページを見ながら,postfix, cyrus-sasl を設定
4.玄箱内のユーザ間(内部間)の送信がうまくいかない。
-> SASL認証を無効にしたらうまくいった。
-> cyrus-sasl 関連のパッケージのインストールが足らなかったため,
追加インストールしたらSASL認証を有効にしても送信がうまくいった。
5.外部から玄箱(内部)への送信はうまくいった(ルータのポートは空けてあったし)。
6.内部から外部への送信がうまくいかない。
-> OP25Bの関係でYahooBBのSMTPサーバに中継するように設定したがだめ。
-> 25番,587番ポートともだめ。
-> 1週間いろんなページで勉強したが,どうしてもだめ。
-> きまぐれにGmailのSMTPサーバに中継するように設定変更した。
-> これで送信できるようになった。これでいこう。
それでは,/etc/postfix/main.cf のSMTPサーバの認証に関する部分です。
パラメータの最初に「smtp」と「smtpd」の2種類があることに注意して下さい。
「smtpd」は玄箱のpostfixがサーバとして動作することに関する設定,
「smtp」はGmailのSMTPサーバに対して玄箱のpostfixがクライアントとして
動作することに関する設定です。
# (サーバ)SMTP-Auth設定
smtpd_sasl_auth_enable = yes
smtpd_sasl_seculity_options = noanonymous
#broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_auth_destination, permit_sasl_aut
henticated, reject
smtpd_sasl_path = smtpd
smtpd_sasl_type = cyrus
# 受信メールサイズ制限 10MB(10*1024*1024)(ちょっと違う要素の設定)
message_size_limit = 10485760
# (クライアント)SMTP-Auth設定(上記記述に対してsmtp「d」がない)
smtp_sasl_auth_enable = yes
# Gmailのアカウントを登録してあるファイルの指定
smtp_sasl_password_maps = hash:/etc/postfix/gmail
# Gmail用mechanism_filter
smtp_sasl_mechanism_filter = cram-md5, plain
# TLS(別名SSL)の設定
smtp_use_tls = yes
smtp_sasl_tls_security_options = noanonymous
いろんなページを探って,やっと上記設定にたどり着きました。
次は,Gmailへの認証用のIDとパスワード情報のファイルを生成します。
/etc/postfix ディレクトリ内でgmail(どんなファイル名でもよい)ファイルを
新規に作成し,以下の内容を記述します。
[smtp.gmail.com]:587 ユーザ名@gmail.com:パスワード
そして,次のコマンドでDB化します。
postmap gmail
するとgmail.db というファイルができるので,グループをpostfixに,パーミッションを640に変更しておきます。
chgrp postfix gmail.db
chmod 640 gmail.db
これでmain.cf の設定は終了です。