web-dev-qa-db-ja.com

コマンドラインからGmailアカウントにメールを送信できないのはなぜですか

私は次のコマンドを使用しています:

echo "Test if email can be sent from server" | mail -s "Test" [email protected]

これは、Ubuntu Server 12.04で完全に最新のものです。

私のトラブルシューティングに追いつくために:

1)mailutilsを「インターネットサイト」オプション(または、そのインターネットオプションが何であれ、頭上で何と呼ばれていたのか正確に思い出せません)でインストールしました。

2)グループ「メール」に自分を追加しました。

3)ISPが実際にポート25をブロックすることを確認しました。ポート587を使用して これらの指示 に従いました。これはブロック解除されます(これが送信メールに影響するかどうかはわかりません。私にはメールサーバーのように見えます)

4)私も試してみましたecho "Test if email can be sent from server" | sendmail -f [email protected] [email protected]、しかしこれも何もしないようです。

5)gmailがポート587で受信しているのではないかと心配していますが、トラフィックの処理方法がわかりません。これは根拠のない考慮事項ですか?

6)Gmailユーザー名に「。」が含まれています「@ gmail.com」の前。これがmailおよびsendmailコマンドを混乱させる可能性はありますか? (編集:いくつかの実験の後、これはおそらく問題ではありません)

1
jaredad7

SMTPサーバーは、TCPポート25でのみ着信メールを受け入れます。送信ポート587などの他のポートからのメールを受け入れる場合、メールを送信する既知/認証済みクライアントからの新しいメールの送信専用です。不明なクライアントからの着信メールは、ポート25でのみ受け入れられます。

ISPがポート25の発信接続をブロックしている場合は、次のいずれかが必要です。

  • このブロックを削除してもらいます
  • ローカルネットワーク外のメールリレーにメールを中継します。このネットワークは、あなたを信頼できるクライアントとみなし、リレーに転送させます。ポート587でこのリレーに話しかけます。
  • ポート587を使用して宛先サーバーでクライアントとして認証します。これにより、宛先は認証済みクライアントとみなします。 Gmailがこれを許可するかどうかはわかりません。クライアントからのメールを受け入れる通常の方法は、Webまたは独自のアプリを使用するからです。

編集:OPは、Gmailを使用してsmtp.gmail.comのポート465(SSLを介したSMTP)でメールを認証および送信できることを称賛しました。

1
thomasrutter

「安全でないアプリアクセス」を有効にして、Gmailセキュリティ設定を https://myaccount.google.com/ で変更する必要があります。 「安全性の低いアプリアクセス」がオフの場合、送信したすべてのメールはGoogleによってブロックされます。

次のステップでは、 https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp で確認できます。