J'utilise souvent telnet ou netcat pour connecter des serveurs smtp pour envoyer un e-mail comme test.
Est-ce que quelqu'un sait comment envoyer un e-mail à l'aide de telnet ou netcat, mais joindra également un fichier ? Il y a probablement de meilleures façons, mais je veux toujours savoir :-)
Je serais heureux avec une solution qui utilise un petit shell bash pour atteindre l'objectif, mais je ne veux pas utiliser d'autres outils ...
Réponses:
D'accord, donc en utilisant les commentaires de tout le monde comme point de départ, j'ai trouvé ce désordre idiot :-) ...
la source
Ick. Vous allez devoir encoder la pièce jointe en base64 et créer les en-têtes MIME.
Plutôt que de générer un nouveau message "à la volée" à chaque fois, il serait probablement plus facile de simplement vous envoyer un exemple de message très court à partir d'un "vrai" programme de messagerie (en tirant parti du travail des personnes qui l'ont écrit pour mettre la pièce jointe). dans l'encodage approprié et la création des en-têtes MIME).
Enregistrez ce message dans un fichier texte avec ses en-têtes (en supprimant l'en-tête de transport, bien sûr), et modifiez / copiez / collez-le simplement dans telnet ou netcat pour les sessions futures.
la source
Bien que le test manuel des serveurs SMTP à la main soit possible et viable, l'utilisation d'un outil conçu à cet effet sera beaucoup plus facile.
Cet article explique SWAKS . swaks est conçu pour les tests de serveur smtp. Prend en charge les pièces jointes, l'authentification et le cryptage!
la source
je suis tombé sur cette entrée alors que je cherchais quelque chose de même. et à partir des arcs ici et des recherches supplémentaires, j'ai réussi à faire ce script.
Une chose que vous voudrez peut-être ajouter est l'authentification. je n'en ai pas besoin donc je ne l'ai pas ajouté.
Je pense que cela ne nécessite que md5sum , netcat , file , awk et les commandes base64 , je suppose qu'ils sont assez standard dans la plupart des systèmes.
la source
C'est ce que je fais pour envoyer des e-mails avec bash. Je l'utilise pour m'envoyer un fichier journal et une adresse IP externe, n'hésitez pas à l'utiliser:
J'espère que c'était bon pour vous;)
psirac.
la source
Telnet - envoyer un e-mail avec plusieurs pièces jointes
la source
Vous devrez revoir la spécification du protocole SMTP. C'est une lecture étonnamment légère pour une spécification technique, et vous aidera à comprendre comment fonctionne le processus de messagerie.
Plus précisément, sachez que les pièces jointes sont converties en types MIME et encodées en texte, de sorte que toutes les pièces jointes que vous souhaitez envoyer via telnet doivent être converties en texte et transmises en tant que telles via le protocole telnet.
la source
Si tout ce que vous testez est `` la pièce jointe a-t-elle été délivrée '', vous pourriez peut-être vous en tirer avec le standard de pièces jointes pré-MIME: uuencode. Contrairement à MIME, il est beaucoup plus simple de créer des messages. Contrairement à MIME, il ne nécessite aucun en-tête. Cependant, tous les clients de messagerie ne reconnaissent plus les fichiers encodés en tant que pièces jointes, je suggère donc de tester pour voir si vous pouvez les utiliser. Si c'est le cas, vous venez de vous épargner beaucoup d'efforts. Si ce n'est pas le cas, alors pré-construire votre message MIMEed via perl ou quelque chose et le canaliser à travers quelque chose comme NetCat est probablement la voie à suivre.
Ça vaut le coup d'oeil.
la source
Il existe un merveilleux script Perl pour ce travail. Vous pouvez le trouver ici:
http://www.logix.cz/michal/devel/smtp-cli/
smtp-cli v2.9
Le script est de l'auteur: Michal Ludvig (c) 2003-2011 http://smtp-cli.logix.cz
Je l'utilise moi-même et ça marche très bien, grâce à Michal;)
la source