1

私はサーバーからメールを送信するのが初めてで、VM でメールを設定しようとしているだけなので、crontab メールを送信できます (後で、いくつかの Python スクリプトでランダムな通知タイプのメールを送信する必要があります)。私の Amazon Linux EC2 ボックスでは、これはすべてすぐに機能しましたが、GCCE Ubuntu 16.04 インスタンスで問題が発生しています。

Google が常にCompute Engine インスタンスのポート 25 をブロックしていることは知っていますが、Google Apps を介して SMTP リレーを使用してメールを送信できることを示唆するドキュメントも指摘しています。SendGrid のようなサード パーティのサービスを特に使用したくないので、これが最善の (唯一の?) オプションのように思えます。ただし、そのドキュメント ^ は GCCE 用に特別に書かれたものではないようです。

現在の状況:いくつかの調査 を行うことで、数時間動作させることができ、crontab ジョブからの電子メールを正常に受信できました。ただし、翌朝インスタンスを再起動する必要があり、それ以降 (他の変更点はありません)、mail.log がこのエラーでいっぱいになり、メールを受信しなくなりました。

Aug 18 17:17:56 my-master-compute-engine2 postfix/error[18060]: A7812BCE13: to=<myemail@gmail.com>, relay=none, delay=50875, delays=50874/0.13/0/0, dsn=4.4.2, status=deferred (delivery temporarily suspended: lost connection with smtp-relay.gmail.com[173.194.74.28] while performing the HELO handshake)

私の後置構成ファイルは以下のとおりです。私の「myorigin」ファイルには私のドメイン名だけが含まれています。これらすべてを SMTP リレーで事前に構成し、ドメインの Google Apps の Gmail 設定を行いました (指定された IP アドレスからのメールのみを許可します -- my vm外部 ip--SMTP 認証または TLS 暗号化を必要としません):

# Google Apps Relay SMTP, must use Port 587 because, 25 is blocked
relayhost = [smtp-relay.gmail.com]:587
# a file which should contain the google apps domain
myorigin = /etc/mailname

# Force ehlo behavior
smtp_always_send_ehlo = yes
smtp_helo_name = my.vm.external.ip # vm external ip (same that is configured in smtp relay in google apps)

myorigin = /etc/mailname
mydestination = $myhostname, my-master-compute-engine2.c.random-stuff.internal, localhost.c.random-stuff.internal, , localhost
mynetworks = 127.0.0.0/8 my.internal.ip.address/32 [::1]/128 [fe80::]/64
mailbox_size_limit = 0
recipient_delimiter = +

# limit smtp to loopback interface & compute engine doesn't support ipv6
inet_interfaces = loopback-only
inet_protocols = ipv4

この特定の問題を修正するにはどうすればよいですか、または回避策を見つけるにはどうすればよいですか? ありがとう!

4

1 に答える 1

1

Google によって文書化されたセットアップを使用して動作させる方法を理解することはできませんでしたが、こちらの手順に従って作成した別のランダムな Gmail アドレスを介して、より単純で基本的な SMTP リレーをセットアップすることができました。

于 2016-08-19T17:27:08.663 に答える