1 votes

Envoi de courriels à partir d'un hôte SMTP existant depuis un serveur Ubuntu

J'ai l'impression que mon problème est très simple, mais j'essaie depuis un certain temps et je n'ai pas réussi à le résoudre. Vous, les serveurs expérimentés, allez probablement en rire, mais je suis finalement arrivé au point où j'ai besoin d'aide, sinon je n'arriverai jamais à rien.

J'ai une petite boîte fonctionnant sous 12.04 LTS et j'ai voulu script certains contrôles d'état et faire en sorte que le serveur m'envoie un e-mail et planifier cela avec cron.

Je veux essentiellement un client de messagerie en ligne de commande que je puisse configurer aussi facilement que Thunderbird pour envoyer par le biais de mon SMTP existant par la ligne de commande. Quelque chose qui peut facilement être enroulé dans mes scripts bash.

J'ai déjà un hôte distant qui s'occupe de notre courrier électronique, SMTP, MTA, et tout le reste. Je n'ai pas particulièrement envie de configurer un relais juste pour envoyer des e-mails alors que j'en ai un que tout le monde dans l'entreprise utilise déjà. J'ai essayé, mais il y a trop d'aspects que je ne comprends pas ET je ne vois pas pourquoi je devrais configurer quelque chose de local alors que nous payons déjà un hôte distant pour faire ces choses.

Si je dois absolument configurer sendmail ou postfix, qu'il en soit ainsi, mais j'apprécierais une alternative simple. Je suis ouvert à pratiquement tout à ce stade.

2voto

Avez-vous envisagé sendemail ? (sendEmail)

Description-en : client de messagerie SMTP léger et en ligne de commande

1voto

fkraiem Points 11558

Si vous voulez dire que vous envoyez des e-mails par le biais d'un serveur SMTP tiers (fourni par votre FAI, par exemple), vous pouvez alors installer ssmtp Il s'agit d'un remplacement direct de Postfix/Sendmail, mais il est spécialisé dans la tâche précise d'envoyer du courrier via un SMTP distant, et est donc beaucoup plus facile à configurer. Vous pouvez ensuite envoyer du courrier électronique avec le mailx par exemple :

echo "Mail." | mailx -s "Subject" recipient@somewhere.org

EDIT : Le courrier électronique est une affaire très compliquée... Quelques éléments à garder à l'esprit :

Notez que la commande ci-dessus ne spécifie pas d'adresse d'expéditeur ( c'est-à-dire l'adresse que le destinataire verra dans le champ "De" de son client de messagerie). Par défaut, l'adresse de l'expéditeur est votre nom de connexion sur votre machine locale, suivi de @ suivi du nom d'hôte complet de la machine locale. Par exemple, sur ma machine, le nom de connexion est firas et le nom d'hôte est nomo :

firas@nomo ~ % whoami
firas
firas@nomo ~ % hostname -f
nomo

Ainsi, lorsque j'envoie un courriel avec la commande ci-dessus, l'adresse de l'expéditeur sera firas@nomo comme on peut le voir dans mail.log :

firas@nomo ~ % tail -n 3 /var/log/mail.log
Jun  9 20:37:46 nomo sSMTP[2203]: Creating SSL connection to host
Jun  9 20:37:48 nomo sSMTP[2203]: SSL connection using RSA_AES_128_CBC_SHA1
Jun  9 20:37:50 nomo sSMTP[2203]: Sent mail for firas@nomo (221 2.0.0 esmtp3.es.uci.edu closing connection) uid=1000 username=firas outbytes=364

La grande majorité des serveurs refuseront de relayer cet e-mail (par mesure anti-spam), car le nom de domaine nomo n'est pas un domaine valide. Heureusement, il existe une option dans ssmtp.conf qui permet de spécifier un domaine arbitraire, lequel sSMTP sera utilisé lors de l'envoi du courrier. Il s'agit de l'adresse rewritedomain donc si je l'ai dans mon ssmtp.conf :

rewriteDomain=fkraiem.org

alors l'adresse de l'expéditeur sera firas@fkraiem.org .

Normalement, ce qui précède devrait suffire (c'est-à-dire que tant que votre adresse d'expéditeur a un domaine valide, le serveur devrait relayer votre courrier). Cependant, certains fournisseurs de courrier électronique sont très zélés et ne vous autorisent à utiliser que l'adresse électronique que vous avez enregistrée chez eux. Cela signifie qu'en plus de changer le nom de domaine comme indiqué ci-dessus, vous devrez peut-être soit changer votre nom de connexion sur la machine locale, soit enregistrer une nouvelle adresse auprès de votre fournisseur (s'il le permet), afin que l'adresse finale corresponde à votre adresse enregistrée.

Une autre façon de spécifier une adresse d'expéditeur arbitraire est de définir l'option fromlineoverride option de ssmtp.conf a YES et ensuite utiliser le -a option de mailx :

echo "Mail." | mailx -s "Subject" -a 'From: firas@fkraiem.org' firas@fkraiem.org

Cette méthode n'est cependant pas standard, et peut ne pas fonctionner sur des systèmes d'exploitation autres qu'Ubuntu (et d'autres systèmes basés sur GNU). On peut également utiliser d'autres clients plus sophistiqués, tels que mutt .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X