Je dois m'envoyer des rapports de serveur à partir de mes serveurs distants. Je ne crains pas qu'ils envoient du spam. Je n'ai donc pas besoin de SPF, DKIM, etc.
J'ai essayé d'utiliser mailutils
pour envoyer quelque chose comme ceci: uptime | mail -s "uptime" [email protected]
, mais les courriels ne passent pas. Dans/var/mail/root, j'ai reçu un message disant que HELO n'était pas valide. Alors j'ai aussi essayé d'ajouter -r root@my-ip
, et maintenant je ne reçois plus de message d'erreur, mais je ne reçois pas non plus l'e-mail.
Comment puis-je faire ceci?
Ok je l'ai résolu:
$ apt-get install mailutils
$ vim /etc/postfix/main.cf
myhostname = mydomain.com
$ service postfix restart
Configurez ensuite les enregistrements de votre domaine de manière à ce que "mail.mydomain.com" pointe sur l'adresse IP de votre machine et MX record sur "mail.mydomain.com", et définissez également le SPF à l'aide de l'enregistrement TXT comme ceci: v=spf1 include:mydomain.com ip4:1.2.3.4 -all
(à remplacer pour l'IP réelle)
Vous pouvez maintenant envoyer des mails avec la commande mail
.
J'utilise le package de messagerie exim4 sur Ubuntu configuré en tant qu '"hôte intelligent". Cela signifie que vous donnez à exim4 le nom d'utilisateur et le mot de passe de votre serveur SMTP normal, qui l'enverra par courrier électronique (à partir de commandes telles que mail et sendmail).
Voici la question que j'ai posée sur la configuration sur AskUbuntu.com et la réponse que j'ai trouvée:
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 est passé avecR=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16
dans celui-ci. Le X=TLS
signifie que le courrier est envoyé avec la sécurité de la couche de transport qui vous convient.
Cela peut également être fait en utilisant exim sur Fedora/CentOS/RHEL en utilisant gmail pour SMTP (pour compléter la réponse de Stephen Ostermiller en utilisant une distribution différente). Vous installez d'abord exim avec yum:
Sudo yum install exim
Sur Fedora 20, cette version installée 4.80.1
. Une fois installé, vous modifiez la configuration située dans /etc/exim/exim.conf
et ajoutez les sections suivantes au fichier:
# in the routers configuration section:
send_via_gmail:
driver = manualroute
domains = ! +local_domains
transport = gmail_smtp
route_list = * smtp.gmail.com
# in the transports configuration section
gmail_smtp:
driver = smtp
port = 587
hosts_require_auth = $Host_address
hosts_require_tls = $Host_address
# in the authentication configuration section
gmail_login:
driver = plaintext
public_name = LOGIN
client_send = : {your email address at gmail} : {password}
Si vous utilisez l'authentification à deux facteurs dans Google, vous devez utiliser un mot de passe de l'application . Une fois cette configuration mise en place, vous devez redémarrer le service pour que celui-ci prenne effet:
Sudo service exim restart
Une fois le service démarré, vous pouvez utiliser la commande mail , à partir de la ligne de commande, pour envoyer un courrier électronique à l'aide de votre compte gmail.
mail [email protected]
subject: {email subject} <enter>
{message}
.
Où [email protected]
est votre destinataire. Le .
termine le message et l'envoie via exim via Google SMTP en utilisant les informations d'identification du compte de connexion Gmail. Si vous ne possédez pas de compte gmail, configurez-en un pour accéder au serveur SMTP. Si vous rencontrez des problèmes, les journaux sont enregistrés dans /var/log/exim/
dans main.log
et panic.log
pour les erreurs.