web-dev-qa-db-fra.com

Comment configurer un serveur de messagerie sous Linux uniquement pour l'envoi d'e-mails d'administrateur / de débogage?

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?

2
ChocoDeveloper

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.

0
ChocoDeveloper

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:

  • Type général de configuration du courrier: courrier envoyé par smarthost; reçu via SMTP ou fetchmail
  • Nom de messagerie du système: <votre nom d'hôte>
  • Adresse IP à écouter pour les connexions SMTP entrantes: 127.0.0.1
  • Autres destinations pour lesquelles un courrier est accepté: <votre nom d'hôte>
  • Machines à relayer du courrier pour: <laissez ce champ vide>
  • Adresse IP ou nom d'hôte du serveur de modem sortant: mail.example.com::587
  • Masquer le nom du courrier local dans le courrier sortant?
    • Oui, tous les messages sortants semblent provenir de votre compte gmail.
    • Non - les messages envoyés avec un en-tête de nom d’expéditeur valide conserveront le nom de l’expéditeur.
  • Limitez-vous le nombre de requêtes DNS (Dial-on-Demand)? Non
  • Mode de livraison du courrier local: <choisissez celui que vous préférez>
  • Diviser le fichier de configuration en petits fichiers? Oui (vous devez éditer l’un des fichiers ensuite)

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.

2

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

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

0
jmq