[1756] | 1 | <date> |
---|
| 2 | 2010,09,04 |
---|
| 3 | |
---|
[2154] | 4 | <author> |
---|
| 5 | iwaim |
---|
| 6 | |
---|
[1778] | 7 | <title> |
---|
| 8 | localhost の Postfix から外部メールサーバに SMTP 認証でメール送信 |
---|
[1756] | 9 | |
---|
| 10 | <description> |
---|
| 11 | Vine Linux 5 標準のメールサーバである Postfix から、外部メールサーバにメールをリレー (≒送信) するときに SMTP 認証 (SMTP-AUTH; SMTP Authentication) を使う方法を解説します。 |
---|
| 12 | また、近年では、ISP は Outbound Port 25 Blocking (OP25B) を導入していることが多いため、外部メールサーバに接続する際のポートをサブミッションポート 587 番を用いる設定を紹介しています。<br /> |
---|
| 13 | また、外部メールサーバには例として Google の <a href="https://mail.google.com/">Gmail</a> を挙げています。本記事の公開時点 (2010年9月4日) で Gmail のメールサーバ宛に送信できることを確認済みです。Gmail の仕様変更や、ISP やレンタルサーバなどへの送信のときは本記事を参考に、Postfix のドキュメントなどを読んでみてください。 |
---|
| 14 | |
---|
| 15 | <h2>メールをリレー (≒送信) するメールサーバの情報</h2> |
---|
| 16 | |
---|
| 17 | 本記事では、Google が提供している Gmail のメールサーバを例として取り上げます。ISP やレンタルサーバのメールサーバを用いるときなどは、本記事の内容を参考に Postfix のドキュメントなどをお読みください。 |
---|
| 18 | |
---|
| 19 | <table summary="本記事で想定している外部メールサーバ Gmail に関する情報です。SMTP サーバの FQDN、ポート番号、SMTP 認証で用いるアカウント名やパスワードの一覧表です。"> |
---|
| 20 | <caption>本記事で想定する外部メールサーバに関する情報</caption> |
---|
| 21 | <tr> |
---|
| 22 | <th>項目</th> |
---|
| 23 | <th>値</th> |
---|
| 24 | </tr> |
---|
| 25 | <tr> |
---|
| 26 | <th>外部メールサーバの FQDN</th> |
---|
| 27 | <td>smtp.gmail.com</td> |
---|
| 28 | </tr> |
---|
| 29 | <tr> |
---|
| 30 | <th>外部メールサーバのポート番号</th> |
---|
| 31 | <td>587</td> |
---|
| 32 | </tr> |
---|
| 33 | <tr> |
---|
| 34 | <th>Gmail でのメールアドレス</th> |
---|
| 35 | <td>iwaim.sub@gmail.com</td> |
---|
[1788] | 36 | </tr> |
---|
| 37 | <tr> |
---|
[1756] | 38 | <th>Gmail でのパスワード</th> |
---|
| 39 | <td>gmailpasswd</td> |
---|
[1782] | 40 | </tr> |
---|
[1756] | 41 | </table> |
---|
| 42 | |
---|
| 43 | なお、2010年9月4日現在では、Gmail のメールサーバに SMTP 認証でメールをリレーしたとき、Gmail の設定「アカウントのインポート」にて POP3 アカウントを登録していないメールアドレスを From ヘッダフィールドに使った場合は、Gmail のメールアドレスに書き換えられてしまいます。 |
---|
| 44 | |
---|
| 45 | <h2>Postfix の設定</h2> |
---|
| 46 | |
---|
| 47 | localhost の Postfix は次のように設定します。 |
---|
| 48 | |
---|
| 49 | <h3>main.cf の設定</h3> |
---|
| 50 | |
---|
| 51 | main.cf の「relayhost」にて、リレー先のメールサーバを指定します。 |
---|
| 52 | |
---|
| 53 | また、「smtp_sasl_auth_enable」で SMTP 認証を有効化し、「smtp_use_tls」で TLS を使うようにします。「smtp_sasl_password_maps」では SMTP 認証のときに用いるアカウント名とパスワードを列挙したファイルを指定します。「smtp_sasl_security_options」は必要に応じて設定してください。 |
---|
| 54 | |
---|
| 55 | postfix-2.6.3-2vl5 に同梱されている main.cf との差分 (diff) は次のようになります。 |
---|
| 56 | |
---|
[1783] | 57 | <pre class="screen diffUnifiedStyle">--- main.cf 2010-08-15 16:43:47.000000000 +0900 |
---|
[1756] | 58 | +++ /etc/postfix/main.cf 2010-08-15 17:09:19.000000000 +0900 |
---|
| 59 | @@ -311,6 +311,11 @@ |
---|
| 60 | #relayhost = [mailserver.isp.tld] |
---|
| 61 | #relayhost = uucphost |
---|
| 62 | #relayhost = [an.ip.add.ress] |
---|
| 63 | +relayhost = [smtp.gmail.com]:587 |
---|
| 64 | +smtp_sasl_auth_enable = yes |
---|
| 65 | +smtp_sasl_password_maps = hash:/etc/postfix/smtpauth_passwd |
---|
| 66 | +smtp_sasl_security_options = |
---|
| 67 | +smtp_use_tls = yes |
---|
| 68 | |
---|
| 69 | # REJECTING UNKNOWN RELAY USERS |
---|
| 70 | # |
---|
| 71 | </pre> |
---|
| 72 | |
---|
| 73 | 「smtp_sasl_password_maps」の値「hash:/etc/postfix/smtpauth_passwd」のパス部分 (「hash:」よりも後ろの部分) は任意のパス、ファイル名で問題ありません。 |
---|
| 74 | |
---|
| 75 | <h3>アカウント名とパスワードの設定</h3> |
---|
| 76 | |
---|
| 77 | main.cf で設定したファイルにメールサーバのFQDNとアカウント名、パスワードのテーブルを作成します。「リレー先メールサーバのFQDN アカウント名:パスワード」を一行で記述します。アカウント名とパスワードの間は「:」で繋ぎます。Gmail の場合はアカウント名に「@gmail.com」が必要なのでメールアドレス形式になっていますが、ISP のメールサーバなどを使う場合はこの点に注意してください。 |
---|
| 78 | |
---|
[1783] | 79 | <pre class="screen postfixHash">smtp.gmail.com iwaim.sub@gmail.com:gmailpasswd |
---|
[1756] | 80 | </pre> |
---|
| 81 | |
---|
| 82 | 次に、postmap(1) で検索テーブルを構築します。 |
---|
| 83 | |
---|
[1783] | 84 | <pre class="screen shell"># /usr/sbin/postmap hash:/etc/postfix/smtpauth_passwd |
---|
[1756] | 85 | </pre> |
---|
| 86 | |
---|
| 87 | <h3>動作確認</h3> |
---|
| 88 | |
---|
| 89 | Postfix を再起動などを行って、今回変更した設定を読み込んでください。そして、mail(1) やメーラーなどで Postfix にメールを渡してみてください。次のようにstatusが「sent」になっていれば成功です。 |
---|
| 90 | |
---|
[1783] | 91 | <pre class="screen postfixLog">(省略) |
---|
[1756] | 92 | Sep 4 05:30:49 vine5 postfix/smtp[6258]: XXXXXXXXXX: to=<iwaim@example.org>, relay=smtp.gmail.com[74.125.127.109]:587, delay=9.3, delays=0.42/0.29/4.1/4.6, dsn=2.0.0, status=<strong>sent</strong> (250 2.0.0 OK 1111111111 xxxxxxxxxxxxxxxxxx) |
---|
| 93 | (省略)</pre> |
---|
[1758] | 94 | |
---|
| 95 | <h3>参考文献</h3> |
---|
| 96 | |
---|
| 97 | 参考文献は以下の通りです。Vine Linux 5 の Postfix のバージョンは 2.6.3 (2010年9月4日現在では postfix-2.6.3-2vl5) である点は注意してください。 |
---|
| 98 | |
---|
| 99 | <ul> |
---|
| 100 | <li><a href="http://www.postfix.org/SASL_README.html#client_sasl">Configuring SASL authentication in the Postfix SMTP/LMTP client (公式ドキュメント「Postfix SASL Howto」</a></li> |
---|
| 101 | <li><a href="http://postfix-jp.info/trans-2.3/jhtml/SASL_README.html#client_sasl">2.3.x向けドキュメントの和訳「Postfix SMTP クライアントで SASL 認証を有効にする」(Postfix SASL How)</a></li> |
---|
| 102 | </ul> |
---|