Я бы хотел, чтобы мои 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'
Однако дома мой провайдер блокирует почту, отправляемую напрямую через брандмауэр. У меня есть защищенный паролем ssl smtp-сервер, через который я мог бы перенаправить почту, но мне не удалось выяснить, как настроить exim4 для этой работы. Я надеюсь, что кто-нибудь может дать мне пример конфигурации, где я могу подключить имя хоста, имя пользователя, пароль и «использовать ssl», чтобы заставить его отправлять почту через один SMTP-сервер.
Это работает очень хорошо для меня. Мой провайдер использует порты 25 и dc_smarthost='myisp.mail.server:25'
после изменения этих файлов и выдачи команд:
update-exim4.conf
/etc/init.d/exim4 restart
После того, как я сделал тест для отправки электронного письма через классический пример exim4, например:
echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url
И все это нормально для входящей почты my-user
в my-domain-url
.
Если вашему провайдеру требуется аутентификация, вы должны установить 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, будет направляться через этот почтовый хост.
Я наконец нашел подробный набор инструкций Тони Сселфо, которые действительно работают . Похоже, что вы должны использовать безопасность транспортного уровня (TLS) на порту 587. Я не получил SSL SMTP для работы.
Сначала запустите sudo dpkg-reconfigure exim4-config
и используйте следующие параметры конфигурации:
Th ru запустите 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
означает, что почта отправляется с защитой транспортного уровня, которая вам нужна.