Je voudrais que mes cronjobs puissent envoyer du courrier depuis mon ordinateur à la maison. Mes serveurs configurent exim4 comme ceci:
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'
Cependant, à la maison, mon FAI bloque le courrier envoyé directement via un pare-feu. J'ai un serveur ssl smtp protégé par mot de passe par lequel je pourrais acheminer le courrier, mais je n'ai pas réussi à comprendre comment configurer exim4 pour que cela fonctionne. J'espère que quelqu'un pourra me donner un exemple de configuration dans lequel je pourrai brancher le nom d'hôte, le nom d'utilisateur, le mot de passe et "utiliser ssl" pour qu'il puisse envoyer des messages via un seul serveur smtp.
J'ai finalement trouvé un ensemble d'instructions détaillées de Tony Scelfo qui fonctionnent réellement . Il semble que vous deviez utiliser TLS (Transport Layer Security) sur le port 587. Je n’ai pas obtenu le protocole SSL SMTP pour fonctionner.
Commencez par exécuter Sudo dpkg-reconfigure exim4-config
et utilisez les options de configuration suivantes:
Ensuite, exécutez Sudo vi /etc/exim4/passwd.client
et ajoutez les lignes suivantes pour votre hôte de messagerie, ainsi que ses alias (trouvés via nslookup
). Remplacez <adresse électronique> et <mot de passe> par le compte par lequel vous souhaitez acheminer le courrier):
mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>
Une fois que vous avez édité le fichier passwd.client
, exécutez Sudo update-exim4.conf
qui intégrera vos modifications dans votre configuration Exim4.
Exécutez Sudo /etc/init.d/exim4 restart
et assurez-vous que le service s’arrête et démarre correctement. Si le service ne parvient pas à redémarrer, une erreur s'est probablement produite lors de la modification du fichier passwd.client
.
Si Exim4 a redémarré, lancez Sudo tail -f /var/log/exim4/mainlog
pour consulter les journaux de messagerie. Dans une autre fenêtre, envoyez un courrier électronique à partir de votre système et assurez-vous qu’un enregistrement s’affiche avec R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16
. X=TLS
signifie que le courrier est envoyé avec la sécurité de la couche de transport qui vous convient.
Si votre fournisseur de services Internet requiert une authentification, vous devez définir dc_smarthost sur le nom d’hôte du serveur de messagerie et la combinaison de ports utilisés par votre fournisseur de services, et dc_eximconfig_configtype sur "smarthost" comme suit:
dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'
Ensuite, vous pouvez ajouter vos informations d'identification à /etc/exim4/passwd.client
comme ceci:
mail.example.com:username:password
Ensuite, tout courrier envoyé via votre serveur exim4 sera acheminé via cet hôte de messagerie.
Cela fonctionne très bien pour moi. Mon fournisseur de services Internet utilise les ports 25 et dc_smarthost='myisp.mail.server:25'
après avoir modifié ces fichiers et émis des commandes:
update-exim4.conf
/etc/init.d/exim4 restart
Après avoir fait un test pour envoyer un e-mail via exim4 classic, par exemple:
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
Et ces flux ok à la boîte de réception de my-user
dans my-domain-url
.