Afficher/cacher Sommaire
Msmtp
Les principaux points forts de ‘msmtp’ sont les suivants :
- L’envoi d’emails via MUA, typiquement Emacs ou Mutt. Assurez-vous simplement d’indiquer au MUA sur votre machine de ne pas appeler /usr/sbin/sendmail, mais d’appeler le msmtp.
- Redirection des courriels vers un SMTP (le serveur facilite l’envoi)
- Profils - vous pouvez configurer ‘msmtp’ avec différents SMTP et configurations, ce qui le rend idéal pour les clients mobiles.
- Pipelining de commandes
- Prise en charge du proxy SOCKS et des IDN (noms de domaine internationalisés)
Installation
Pour installer ‘msmtp’ et le paquetage associé.
sudo apt-get install msmtp msmtp-mta
Configuration
Créez le fichier de configuration
nano ~/.msmtprc
Configurez ensuite ‘msmtprc’, votre fichier devrait ressembler à ce qui suit
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
account monmail
host live.smtp.mailtrap.io
port 587
from your-email@example.com
user useremail // ou useremail@your-email@example.com
password UserEmailPassword
account default : monmail
Shell
Envoi en ligne de commande
echo -e "Subject: msmtp en ligne de commande\r\nMIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\r\n\r\nLe contenu du message..." |msmtp --from=expediteur@origi.loc -t destinataire@desti.loc
PHP
<?php
$lien = 'https://site.mondomain.tld/phplogin/activate.php?email=' . "test@domain.tld" . '&code=' . '4567';
$message = '<p>Please click the following link to activate your account: <a href="' . $lien . '">' . $lien . '</a></p>';
$from = 'postmaster@mondomain.tld';
$noreply = 'noreply@mondomain.tld';
$subject = 'Account Activation Required';
$headers = 'From: ' . $from . "\r\n" . 'Reply-To: ' . $noreply . "\r\n" . 'X-Mailer: PHP/' . phpversion() . "\r\n" . 'MIME-Version: 1.0' . "\r\n" . 'Content-Type: text/html; charset=UTF-8' . "\r\n";
// Chemin vers fichier texte
$file ="/tmp/message.txt";
// Ouverture en mode écriture
$fileopen=(fopen("$file",'w'));
// Ecriture dans le fichier texte
fwrite($fileopen,"To: yack@cinay.eu"."\n");
//fwrite($fileopen,"From: postmaster@mondomain.tld"."\n");
fwrite($fileopen,$headers);
fwrite($fileopen,"Subject: ".$subject."\n"."\n"."\n");
fwrite($fileopen,$message."\n");
// On ferme le fichier proprement
fclose($fileopen);
// Exécuter bash
exec('/usr/bin/msmtp -t < /tmp/message.txt');
?>