質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • Postfix

    323questions

    Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

  • メール

    311questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Postfixで外部のドメインに送信したい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 2,839

ogra

score 11

発生している問題

自分のドメイン内のメインのメールサーバとは別のホストからメインのメールサーバを経由して外部のドメインにメールを送ることができません。

  • mail.oguradio.com(メイン。IPアドレス160.16.197.224、さくらVPS)
  • blog.oguradio.com(IPアドレス160.16.229.14、さくらVPS)
  • live.oguradio.com(IPアドレス150.95.134.175、ConoHa VPS)
    という3つのホストがあり、それぞれでPostfixでメールサーバを立ち上げています。
  • Postfix 3.1.0
  • Ubuntu 16.04.2 LTS

mail.oguradio.comはドメインの内外からメールを受け付けていて、問題なく送受信できています。
それに追加した2つのホスト、blog.oguradio.comとlive.oguradio.comについては、mail.oguradio.comでメールを扱うようにしたいと考えています。

まず、live.oguradio.comのホストからmail webmaster@oguradio.comでoguradio.comドメイン内のアドレスに送る場合は、問題なく送ることができています。
しかし、たとえばmail myaddress@gmail.comのようにして外部のドメインのアドレス宛てに送ろうとすると、

Apr 26 02:24:14 live postfix/smtp[2705]: 41B66A36E: to=<myaddress@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.204.26]:25, delay=1.3, delays=0.01/0.01/0.72/0.61, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[74.125.204.26] said: 550-5.7.1 [150.95.134.175] The IP you're using to send mail is not authorized to 550-5.7.1 send email directly to our servers. Please use the SMTP relay at your 550-5.7.1 service provider instead. Learn more at 550 5.7.1  https://support.google.com/mail/?p=NotAuthorizedError d20si22949602plj.104 - gsmtp (in reply to end of DATA command))

のようにログが記録され、メールが宛先に届きません。(myaddress@gmail.comというアドレスは架空のアドレスに置き換えました。)

そして、blog.oguradio.comのホストからmail myaddress@gmail.comのようにして外部のドメインに送ろうとすると、送ることはできるのですが、blog.oguradio.comのログに

Apr 26 02:21:05 blog postfix/smtp[2572]: 11212634F5: to=<myaddress@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.97.27]:25, delay=2, delays=0.01/0.02/0.96/0.98, dsn=2.0.0, status=sent (250 2.0.0 OK 1493140864 g90si22927118pfd.48 - gsmtp)

のように出ているので、blog.oguradio.comはmail.oguradio.comを経由せず、直接gmail-smtp-in.l.google.comと通信しているようです。

質問

live.oguradio.comとblog.oguradio.comからmail.oguradio.comを経由させてメールを外部のドメインに送信させるようにするには、どのように設定したら良いのでしょうか。
よろしくお願いします。

mail.oguradio.comの/etc/postfix/main.cf
postconf -nの結果だけを記載します。

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
disable_vrfy_command = yes
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
mailbox_size_limit = 204800000
message_size_limit = 5120000
milter_default_action = accept
milter_protocol = 2
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = oguradio.com
myhostname = mail.oguradio.com
mynetworks = 127.0.0.0/8 160.16.229.14 150.95.134.175
myorigin = $mydomain
non_smtpd_milters = inet:localhost:8891
readme_directory = no
relay_domains = $mydestination
relayhost =
smtp_tls_security_level = may
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions = check_client_access hash:/etc/postfix/access reject_rbl_client all.rbl.jp reject_non_fqdn_sender reject_unknown_sender_domain
smtpd_milters = inet:localhost:8891
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = reject_rhsbl_sender zen.spamhaus.org reject_unknown_sender_domain
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.oguradio.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.oguradio.com/privkey.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes

blog.oguradio.comの/etc/postfix/main.cf

myhostname = blog.oguradio.com
mydomain = oguradio.com
myorigin = $mydomain
inet_interfaces = localhost
inet_protocols = ipv4
mydestination = $myhostname, localhost

 relayhost = [mail.oguradio.com]:465
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options =
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/ssl/certs/ca-certificates.crt

live.oguradio.comの/etc/postfix/main.cf

myhostname = live.oguradio.com
mydomain = oguradio.com
myorigin = $mydomain
inet_interfaces = localhost
inet_protocols = ipv4
mydestination = $myhostname, localhost

 relayhost = [mail.oguradio.com]:465
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options =
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/ssl/certs/ca-certificates.crt
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

blog, live から外部宛のメールを mail.oguradio.com:465 経由、SMTPS + SMTP-Auth で送信しようとしているように見受けられますが、blog, live のメールログを見ると、relay=gmail-smtp-in.l.google.com ですので、relayhost が有効になっていないようです。
relayhost = [mail.oguradio.com]:465 の先頭にスペースやタブが入っていないか確認ください。
また、465番ポートだと CLIENT wrappermode (port smtps/465) is unimplemented のログが出力されるかもしれません。
その場合は 587番ポート(STARTTLS + SMTP-Auth)を試してみてください。

また、mynetworks で許可しているのであれば、SMTP-Auth を使わずにrelayhost = [mail.oguradio.com] (25番ポート)でいいのではないでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/04/26 11:52

    ありがとうございます!うまくいきました。

    まず`relayhost = [mail.oguradio.com]:465`の先頭にスペースが入っていましたので、それを取り除いたところ、live.oguradio.comのログに
    SMTPS wrappermode (TCP port 465) requires setting "smtp_tls_wrappermode = yes", and "smtp_tls_security_level = encrypt" (or stronger)
    と出力されたので、465番でなく587番ポートを試しました。
    mail.oguradio.comの/etc/postfix/master.cfで
    ```
    submission inet n - n - - smtpd
    -o smtpd_tls_security_level=encrypt
    ```
    を指定しました。
    そうしたところ、live.oguradio.comからmail.oguradio.comを経由してGmailに送信することができました。
    blog.oguradio.comも同様にできました。

    それと、`mynetworks`で許可しているのであればSMTP-Authを使わずに25番ポートでよいのではないかというご指摘についてですが、live.oguradio.comがmail.oguradio.comと離れたネットワークにあるため、セキュリティを重視して認証、暗号化をするよう設定したつもりなのですが、それでも25番ポートで大丈夫なのでしょうか。
    ちなみに、live.oguradio.comとblog.oguradio.comからmail.oguradio.comのユーザーへは、Logwatchの報告メールも送信するので、通信経路上で傍受されないようにしたいという事情があります。

    キャンセル

  • 2017/04/26 12:24

    25番ポートでも、受信側(mail.oguradio.com)で "smtpd_tls_security_level=may"、送信側で "smtp_tls_security_level=encrypt" にすれば、暗号化通信(STARTTLS)となると思いますが、現状の 587番ポート受信側で "smtpd_tls_security_level=encrypt" の方が確実だと思います。

    キャンセル

  • 2017/04/26 12:28

    分かりました。どうもありがとうございます。

    キャンセル

同じタグがついた質問を見る

  • Postfix

    323questions

    Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

  • メール

    311questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。