Как настроить exim4 для отправки почты через почтовый сервер ssl smtp с защитой паролем?

19

Я хочу, чтобы мои cronjobs могли отправлять почту с моего домашнего компьютера. Мои серверы настраивают exim4 следующим образом:

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

Однако, дома, мой ISP блокирует почту, отправленную напрямую через брандмауэр. У меня есть защищенный паролем ssl smtp-сервер, через который я мог бы маршрутизировать почту, но мне не удалось выяснить, как настроить exim4 для выполнения этой работы. Я надеюсь, что кто-то может дать мне пример конфигурации, где я могу подключить имя хоста, имя пользователя, пароль и «использовать ssl», чтобы отправить его на отправку почты через один SMTP-сервер.

    
задан Stephen Ostermiller 23.07.2012 в 13:29
источник

3 ответа

25

Наконец-то я нашел подробный набор инструкций Тони Скепфо которые фактически работают . Похоже, что вам нужно использовать безопасность транспортного уровня (TLS) на порту 587. Я не получил SSL SMTP для работы.

Сначала запустите sudo dpkg-reconfigure exim4-config и используйте следующие параметры конфигурации:

  • Общий тип конфигурации почты: почта, отправленная smarthost; полученные через SMTP или fetchmail
  • Имя системной почты: < имя вашего хоста >
  • IP-адрес для прослушивания входящих SMTP-подключений: 127.0.0.1
  • Другие адресаты, для которых принята почта: < имя вашего хоста >
  • Машины для ретрансляции почты для: < оставить пустое >
  • IP-адрес или имя хоста исходящего smarthost: mail.example.com::587
  • Скрыть локальное имя почты в исходящей почте
    • Да - вся исходящая почта появится из вашей учетной записи gmail
    • Нет почты, отправленной с допустимым заголовком имени отправителя, будет содержать имя отправителя
  • Сохранять минимальное количество DNS-запросов (Dial-on-Demand)? Нет
  • Способ доставки для локальной почты: < выберите тот, который вы предпочитаете >
  • Разделить конфигурационный файл на небольшие файлы? Да (вам нужно изменить один из следующих файлов)

Затем запустите sudo vi /etc/exim4/passwd.client и добавьте следующие строки для вашего почтового хоста и любые его псевдонимы (найденные через nslookup ). Заменить < адрес электронной почты > и < пароль > с учетной записью, которую вы хотите проложить по почте):

mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>

После редактирования файла passwd.client запустите sudo update-exim4.conf , который будет интегрировать ваши изменения в конфигурацию Exim4.

Запустите sudo /etc/init.d/exim4 restart и убедитесь, что служба останавливается и запускается правильно. Если служба не может перезагрузиться, что-то, возможно, пошло не так, когда вы редактировали файл passwd.client .

Если Exim4 перезапустился, запустите sudo tail -f /var/log/exim4/mainlog , чтобы просмотреть журналы сообщений. В другом окне отправьте электронное письмо из своей системы и убедитесь, что вы видите запись с помощью R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16 . X=TLS означает, что почта отправляется с безопасностью транспортного уровня, которая вам нужна.

    
ответ дан Stephen Ostermiller 18.04.2013 в 00:16
источник
5

Если ваш интернет-провайдер требует аутентификации, вы должны установить dc_smarthost на имя хоста почтового сервера и комбинацию портов, которую использует ваш интернет-провайдер, а dc_eximconfig_configtype - на «smarthost»:

dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'

Затем вы можете добавить свои учетные данные в /etc/exim4/passwd.client следующим образом:

mail.example.com:username:password

Затем любая почта, отправленная через ваш exim4-сервер, будет маршрутизироваться через этот почтовый узел.

    
ответ дан dobey 23.07.2012 в 15:16
4

Это очень хорошо для меня. Мой интернет-провайдер использует порт 25 и dc_smarthost='myisp.mail.server:25' после изменения этих файлов и выдачи команд:

  1. update-exim4.conf
  2. /etc/init.d/exim4 restart

После того, как я сделал тест для отправки электронной почты через exim4 classic, например:

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" [email protected]

И они текут в почтовом ящике my-user в my-domain-url .

    
ответ дан gsavix 16.09.2012 в 07:47