msmtp simplement
Pour mémoire: on va spammer comme des gorets Noooooooon, je déconne
Initialement, je cherchais un moyen simple d'envoyer des mails directement, c'est à dire sans utiliser son MTA installé (Exim
, Postfix
, par exemple): “msmtp
” m'est apparu.
Voici quelques commandes simples, pour envoyer des mails via smtp.free.fr
…
Exemple minimal:
$ echo -n "Hello." | msmtp --host=smtp.free.fr --from=root@free.fr <RECIPIENT>
--host=
: le serveur smtp choisit--from=
: l'enveloppe de l'expéditeur<RECIPIENT>
: une adresse e-mail valide
C'est ce qu'on appelle forger son adresse e-mail: root@free.fr
vient d'envoyer un e-mail a “<RECIPIENT>
” .
A la lecture du mail, il est évident qu'il est mal-formé: pas de sujet , pas de date, etc…
~~READMORE~~
Plus fort:
$ echo -e -n "From: Administrateur de Free <root@free.fr>\nTo: <RECIPIENT>\nSubject: Information sur votre compte client\n\nHello, Ceci est un test." | msmtp --host=smtp.free.fr --from=root@free.fr <RECIPIENT>
Rappel: <RECIPIENT>
doit être une adresse e-mail valide.
Complet en script bash
:
#!/bin/bash #set -x MAIL_FROM="root@free.fr" MAIL_TO="userXXXX@domainXXX.fr" ; # <--- FIXME MAIL_SUBJECT="[Urgent] Ceci est une demande de rançon !" cat << __EOF__ | msmtp --host=smtp.free.fr --syslog=on --timeout=10 --read-recipients --from=${MAIL_FROM} From: Administrateur de Free <root@free.fr> To: ${MAIL_TO} Bcc: userYYYY@domainYYY.fr,userZZZZ@domainZZZ.fr Subject: =?UTF-8?B?`echo "${MAIL_SUBJECT}" | base64 -w 0`?= Date: `LANG=C date "+%a, %d %b %Y %X %z"` Content-Type: text/plain; charset="utf-8" Salut ! Je réclame une rançon d'1 million de dollars !!!!! Bisous -- "Deux précautions valent mieux qu'une." __EOF__ # ----------------- # EOF
Y a juste a éditer correctement les (3) adresses e-mails, et ça marche.
- le format de “
Date:
” est correct. - le format de “
Subject:
” est correct aussi, mais illisible ! - Les “
To:
” et “Bcc:
” fonctionnent grâce à l'option--read-recipients
Voila. C'est un bon début pour commencer la pêche