プロジェクト

全般

プロフィール

メールサーバ中継の設定

  • 自宅でメールサーバを運用する場合に必要になることがある
    メールサーバの中継サーバの設定です。
  • スパムメール対策(この場合、送信する側の対策)として、プロバイダにて
    25番ポートでのインターネット側の通信がブロックされている場合があります。
  • そのため、自宅から直接インターネットではなく、一端プロバイダの
    SMTPサーバを経由してインターネットにメールを送信するケースがあります。
    (そもそも禁止されている場合もあるので、よく利用規約を見ておきましょう)
  • 参考
    • biglobeの場合(http://support.biglobe.ne.jp/faq/settei/op25b/a_5.html)

前提条件

  • プロバイダが回避策としての中継サーバを提供していること。
    場合によっては利用登録が必要な場合もあるので、よく確認して下さい。
  • また、個人的な経験ですが、プロバイダの案内ではなく、実際に使われている
    回線経路の提供者側の設定が必要な場合があります。
    • 著者の場合、プロバイダはbiglobe契約だったがFTTH回線経路がauだったので、
      biglobeではなくauの設定が必要だった。

設定ファイル編集

  • 次の設定ファイルを編集します。
    # vi /etc/postfix/main.cf
    # ------------------------------------------------------
    # 変更箇所のみ記載
    # relayhost = [中継サーバ名]:ポート番号
    relayhost = [relay-mta.example.com]:25
    

中継サーバ用SMTP認証

  • この項目は必要がなければスキップして構わない。
    (必要な場合、プロバイダからの指示がある)
  • 必ずというわけではないが、必要となる場合がある。
  • サーバ本体のSMTP認証と混同されやすいがサーバ側は「smtpd」で
    始まる設定に対し、こちらは「smtp」で始まる設定となる。
  • 次の設定ファイルを編集します。
    # vi /etc/postfix/main.cf
    # ------------------------------------------------------
    # 変更箇所のみ記載
    
    # 中継サーバ用のSASLを許可する
    # 認証方式に cyrus 方式を指定する
    smtp_sasl_type = cyrus
    # 中継サーバ用のSASLを許可する
    smtp_sasl_auth_enable = yes
    # 中継サーバのパスワードDBを読み込む
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    # 匿名認証を許可しない
    smtp_sasl_security_options = noanonymous
    # プレーンテキスト認証を行う
    smtp_sasl_mechanism_filter = plain
    
  • 次の設定ファイルを編集します。
    # vi /etc/postfix/sasl_passwd
    # ------------------------------------------------------
    #[プロバイダ中継サーバ名]:ポー番号 プロバイダのメールアドレス:パスワード
    [relay.example.com]:587 user@example.com:password
    
  • パスワードDBを作成します。
    (sasl_passwd.dbが作成されること)
    # cd /etc/postfix
    # postmap sasl_passwd
    # ls sasl_passwd.db
    

設定の適用

  • サービスを再起動します。
    # service postfix restart
    

動作確認

  • 外部宛にメールが送信できればok。(普通のメーラでやってもいい)
    # mail example@gmail.com
    Subject: testmail
    testmail
    .
    

 

戻る