Назад | Перейти на главную страницу

Как настроить sendmail для отправки электронной почты через GMail (smtp.gmail.com), используя порт 465 или 587?

Я настроил sendmail для отправки электронной почты через мою учетную запись GMail (Google Mail), то есть через smtp.gmail.com, путем редактирования /etc/mail/sendmail.mc и регенерируем sendmail.cf:

-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.

Я создал /etc/mail/authinfo с моими учетными данными (имя пользователя и пароль для моей учетной записи GMail; отредактировано):

AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:password" "M:PLAIN"
AuthInfo: "U:user@gmail.com" "P:password" "M:PLAIN"

Но эта настройка заставляет sendmail отправлять электронные письма через стандартный SMTP-порт 25 с использованием smtp.gmail.com ... но недавно мой интернет-провайдер добавил правило брандмауэра, которое блокирует весь трафик на (небезопасный) порт 25.

Как настроить sendmail для отправки писем через порт 465 или 587 (с использованием STARTTLS)?

Добавьте в свой sendmail.mc следующее:

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

Это должно привести к тому, что ваша исходящая почта будет отправлена ​​Sendmail на порт 587.

Вам также необходимо настроить sendmail для использования TLS. Это немного выходит за рамки вашего вопроса, но вы можете найти множество достойных руководств о том, как это сделать с помощью Google, если вы не знакомы.