Qu’est-ce que Sendmail?
sendmail est un MTA (Mail Transfer Agent) très simple et simple, qui implémente le SMTP (Simple Mail Transfer Protocol) entre autres et peut être utilisé pour transmettre des e-mails, généralement même sur les VPS KVM les moins chers sous Linux., Bien qu’il existe une version commerciale qui s’appelle « Sendmail », le sendmail que nous couvrons dans cet article pratique est la version basée sur UNIX de celui-ci, qui est livré avec à peu près toutes les distributions Linux ainsi que *BSD (FreeBSD, OpenBSD et variantes). L’utilisation de la commande sendmail pourrait être le moyen le plus simple d’envoyer des e-mails via l’interface de ligne de commande (CLI) du shell Linux, en dehors de mailx, qui peut être utilisé en conjonction avec sendmail pour faciliter encore plus l’envoi et la réception des e-mails à partir de la ligne de commande., Comme son nom l’indique déjà, sendmail lui-même ne peut envoyer que des e-mails et ne pas stocker ceux reçus dans des boîtes aux lettres POP ou IMAP.
où se trouve Sendmail et ses fichiers de Configuration?
la première information intéressante dont nous pourrions avoir besoin pour tester sendmail est le chemin du fichier binaire qui est exécuté si nous émettons la commande sendmail sur notre ligne de commande., Pour comprendre cela, nous utiliserons la commande which comme indiqué ci-dessous:
# which sendmail/usr/sbin/sendmail
la sortie ci-dessus signifie que le chemin d’accès complet au fichier binaire de notre commande sendmail est /usr/sbin/sendmail que vous devez noter pour les étapes ci-dessous.
Si vous souhaitez ajuster les fichiers de configuration de sendmail, vous pouvez généralement les trouver dans le répertoire /etc/mail/ sur les systèmes UNIX (FreeBSD, OpenBSD) et Linux (CentOS, Fedora, Debian, Ubuntu). Le fichier de configuration principal de sendmail est /etc / mail / sendmail.,cf, cependant, le réglage ne fait pas partie de ce tutoriel. Un bon endroit pour plus d’informations est la page de manuel de sendmail, que vous pouvez afficher en exécutant la commande man sendmail. Passons maintenant à la partie intéressante de ce tutoriel en ligne de commande sendmail.
Comment tester la commande sendmail sous Linux
pour tester rapidement si la commande sendmail fonctionne correctement pour ensuite l’utiliser par exemple dans des scripts shell, via la ligne de commande ou même à partir de scripts PHP (PHP supporte sendmail pour envoyer des e – mails à partir de scripts PHP-vous pouvez définir le chemin,ini), vous pouvez émettre la commande ci-dessous sur votre système Unix ou Linux:
echo " Subject: sendmail test | / sendmail-v [email protected]
[email protected] est évidemment l’adresse e-mail à laquelle vous souhaitez que l’e-mail de test soit envoyé. Cet exemple de ligne de commande sendmail enverra un e-mail vide avec le sujet « test sendmail » à [email protected] si le test est réussi. Vous pouvez également envoyer des e-mails plus longs contenant un sujet, un corps et des en-têtes supplémentaires si vous le souhaitez, mais juste pour tester si sendmail fonctionne ce n’est généralement pas nécessaire. Pourtant, voici comment vous pouvez le faire:
1.,) Créez un fichier appelé mail.txt (ou tout ce que vous aimez) dans ~/mail.txt avec vim ou nano ou votre éditeur de texte préféré
2.) Collez-y le contenu suivant, mais bien sûr en ajustant les adresses e-mail, car ce ne sont que des exemples de commandes sendmail:
To: [email protected]: test sendmail twoFrom: [email protected]
Et voici le corps de l'e-mail, test test test..
3.) Enfin nous envoyer le modèle d’e-mail que nous venons de créer avec: sendmail -vt < ~/mail.,txt
C’est tout – vous pouvez maintenant tester sendmail à partir de la ligne de commande et même envoyer des e-mails complets, y compris les en-têtes du shell Linux / UNIX. Voici un exemple de la façon dont le test sendmail simple pourrait ressembler sur un système en direct:
Sendmail et Spam
Une chose que je voudrais ajouter est qu’en raison du fait que PHP et d’Autres scripts peuvent généralement accéder aux binaires sendmail, il peut également être utilisé pour envoyer du spam et CMS obsolètes ou mots de passe faibles., Si vous voulez savoir quel script ou utilisateur POSIX envoie le spam avec sendmail, vous pouvez émettre la commande ci-dessous et porter une attention particulière à la sortie:
ps faux | grep sendmail
sendmail Conclusion
bien que sendmail puisse poser quelques risques sur les systèmes partagés ou non sécurisés, c’est un excellent MTA léger qui peut être utilisé pour envoyer des e-mails à partir de scripts shell, PHP applications ou même directement la ligne de commande., Il négocie également automatiquement STARTTLS pour la transmission cryptée des e-mails si le serveur SMTP distant le prend en charge, ce qui est une pratique de sécurité utile.