Comment envoyer une pièce jointe avec ssmtp sous Linux?

14

Je peux envoyer des e-mails depuis mon compte gmail par ssmtp sous Linux maintenant. Mais comment puis-je joindre des fichiers à l'e-mail?

deepsky
la source

Réponses:

9

Pour envoyer une pièce jointe, vous devez coder le message à l'aide de MIME .

Vous pouvez utiliser Mutt

mutt -s SUBJECT -a ATTACHMENT_FILE_1 ATTACHMENT_FILE_2 -- EMAIL_ADDRESS < MESSAGE_FILE

ou mpack

mpack -s SUBJECT -D MESSAGE_FILE ATTACHMENT_FILE EMAIL_ADDRESS

Voir également:

Mikel
la source
Merci. Est-ce donc à dire qu'il n'est PAS possible d'envoyer une pièce jointe par ssmtp seul?
deepsky
3
C'est possible, mais vous devez générer tous les en-têtes MIME d'une manière ou d'une autre. Pourquoi avez-vous seulement besoin d'utiliser ssmtp? Si ssmtpfournit /usr/lib/sendmailou /usr/sbin/sendmail, tout programme de messagerie local devrait pouvoir envoyer via ssmtp.
Mikel
3
@deepsky ssmtp n'est pas une interface utilisateur. Il s'agit d'un MTA (Mail Transport Agent), qui est une infrastructure destinée à être accessible via un MUA (Mail User Agent, également connu sous le nom de "mailreader"). C'est assez impressionnant que vous ayez réussi à vous débrouiller seul sans MUA, mais ce n'est pas une méthode raisonnable de faire les choses. C'est une bonne compétence de débogage réseau que vous avez apprise!
Alan Curry
21
echo -e "to: [email protected]\nsubject: subject\n"| (cat - && uuencode /path/to/attachment attachment.name) | ssmtp [email protected]

Cette solution ne dépend pas de mutt.

metrix
la source
4
Comment cela obtient-il un vote négatif? cela résout le problème.
metrix
3
Soit dit en passant, SSMTP est utilisé par de nombreuses personnes pour envoyer des e-mails automatisés via Gmail: nixtutor.com/linux/send-mail-with-gmail-and-ssmtp
metrix
2
Je sais que cette réponse est arrivée plus d'un an après la question, mais c'est la réponse à la question. Fonctionne très bien, merci.
RTF
2
4 ans plus tard, juillet 2017 - C'est la réponse que je cherchais. Merci, @metrix!
SDsolar
commande uuencode manquante
Pavel Niedoba
1
$ echo -e "to: [email protected]\nsubject: test\n"| (cat - && uuencode /path/to/file file.name) | ssmtp [email protected]

À condition que SSMTP soit configuré et que vous ayez vérifié que les messages sans pièces jointes atteignent leur destination et ne dépendent pas de mutt.

Anon
la source
Je ne pense pas que cela réponde à la question d'origine.
slm
0
 $ sudo apt-get install uudeview
 $ echo -e "From: [email protected]\nTo: [email protected]\nSubject: mySubject\n\nBody-Text"|uuenview -a -bo MyAttachment|sendmail -t
Michi
la source