web-dev-qa-db-ja.com

ポート465または587を使用して、GMail(smtp.gmail.com)経由でメールを送信するようにsendmailを構成する方法

smtp.gmail.comを編集してsendmail.cfを再生成することにより、GMail(Google Mail)アカウント、つまり/etc/mail/sendmail.mc経由でメールを送信するようにsendmailを設定しました。

-dnl define(`SMART_Host',`smtp.your.provider')
+define(`SMART_Host',`[smtp.gmail.com]')

-dnl define(`confAUTH_OPTIONS', `A p')dnl
+define(`confAUTH_OPTIONS', `A p')dnl

-dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
-dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 FEATURE(`no_default_msa',`dnl')dnl
 FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl
 FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
 FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

-dnl MASQUERADE_AS(`mydomain.com')dnl
+MASQUERADE_AS(`gmail.com')dnl

上記は、sendmail.mcへの私の変更の短い差分です。

私の資格情報(GMailアカウントのユーザー名とパスワード、編集済み)を使用して/etc/mail/authinfoを作成しました:

AuthInfo:smtp.gmail.com "U:[email protected]" "P:password" "M:PLAIN"
AuthInfo: "U:[email protected]" "P:password" "M:PLAIN"

しかし、この設定により、sendmailはsmtp.gmail.comを使用して標準のSMTPポート25経由でメールを送信します。

ポート465または587(STARTTLSを使用) 経由で電子メールを送信するようにsendmailを構成する方法

7
Jakub Narębski

以下をsendmail.mcに追加してください:

define(`RELAY_MAILER_ARGS', `TCP $h 587')
define(`ESMTP_MAILER_ARGS’, `TCP $h 587′)

これで、Sendmailがポート587で送信メールを送信できるようになります。

TLSを実行するようにsendmailを構成する必要もあります。それはあなたの質問の範囲を少し超えていますが、慣れていない場合は、Googleでそれを行う方法について多くの適切なガイドを見つけることができます。

8
Evan Anderson