mailx
一般的なパッケージアプリを使用して電子メール通知を送信したいです/bin/mail
。
echo "Testing alerts from prod server" | mail -s "Example email" [email protected]
mydomain.comのDNSを制御します。 mydomain.comはGoogle Appsも使用しています。
Google Apps は通常、任意の SMTP クライアントからメールを配信しません。Googleアプリケーションが自分のUnixサーバーを「信頼」してメールを送信できるようにする最善の方法は何ですか?
ベストアンサー1
電子メールを送信するには、スマートホストの認証を設定する必要があります。この場合、スマートホストはGoogleサーバーです。
大まかに言えば、その仕組みは次のようになります。
(authentication)
mail -----------> local mailserver ----------------> remote smarthost
つまり、ローカルメールサーバーはクライアントプログラム(たとえばmail
)からメッセージを受け取り、認証してリモートスマートホストに転送します。
ローカルで使用するメールサーバーを指定していませんが、Eximの例を使用します。 Eximの場合は、/etc/exim4/passwd.client
パスワードファイルにエントリを追加する必要があります。これはファイルのデフォルト状態です。
# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
コメントを見ると、man 5 exim4_passwd_client
より多くの情報があります。
使用されるサーバーは異なる場合がありますが、ほとんどのディストリビューションにはデフォルトでローカルメールサーバーが設定されていると思います。 DebianとUbuntuにはデフォルトでEximが設定されている可能性があります。メールサーバーがインストールされていても、デフォルトでスマートホストに接続するように設定されていない可能性があります。
ローカルメールサーバーがインストールされていない場合は、インストールする必要があります。認証のためにローカルメールサーバーをバイパスし、スマートホストに直接送信するプログラムがありますが、これは良い方法ではありません。