Jak mogę wysłać załącznik z ssmtp w systemie Linux?

14

Teraz mogę wysyłać wiadomości e-mail z mojego konta Gmail przez ssmtp w systemie Linux. Ale jak mogę dołączyć pliki do wiadomości e-mail?

deepsky
źródło

Odpowiedzi:

9

Aby wysłać załącznik, musisz zakodować wiadomość za pomocą MIME .

Możesz użyć Mutt

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

lub mpack

mpack -s SUBJECT -D MESSAGE_FILE ATTACHMENT_FILE EMAIL_ADDRESS

Zobacz też:

Mikel
źródło
Dzięki. Czy to znaczy, że NIE można wysłać załącznika przez sam ssmtp?
deepsky
3
Jest to możliwe, ale musiałbyś jakoś wygenerować wszystkie nagłówki MIME. Dlaczego potrzebujesz tylko używać ssmtp? Jeśli ssmtpzapewnia /usr/lib/sendmaillub /usr/sbin/sendmail, dowolny lokalny program pocztowy powinien mieć możliwość wysyłania za pośrednictwem ssmtp.
Mikel
3
@deepsky ssmtp nie jest interfejsem użytkownika. Jest to MTA (agent transportu poczty), czyli infrastruktura przeznaczona do uzyskiwania dostępu przez MUA (agent użytkownika poczty, znany również jako „czytnik poczty”). To trochę imponujące, że byłeś w stanie samemu wdać się w ssmtp bez MUA, ale nie jest to rozsądna metoda robienia rzeczy. Nauczyłeś się jednak dobrej umiejętności debugowania sieci!
Alan Curry
21
echo -e "to: [email protected]\nsubject: subject\n"| (cat - && uuencode /path/to/attachment attachment.name) | ssmtp [email protected]

To rozwiązanie nie zależy od mutta.

metrix
źródło
4
Jak odbiera się głos negatywny? rozwiązuje problem.
metrix
3
Nawiasem mówiąc, SSMTP jest używane przez wiele osób do wysyłania automatycznych wiadomości e-mail za pośrednictwem Gmaila: nixtutor.com/linux/send-mail-with-gmail-and-ssmtp
metrix
2
Wiem, że ta odpowiedź nadeszła ponad rok po zadaniu pytania, ale to jest odpowiedź na pytanie. Działa świetnie, dzięki.
RTF
2
4 lata później, lipiec 2017 r. - To była odpowiedź, której szukałem. Dziękuję, @metrix!
SDsolar
brakujące polecenie uuencode
Pavel Niedoba
1
$ echo -e "to: [email protected]\nsubject: test\n"| (cat - && uuencode /path/to/file file.name) | ssmtp [email protected]

Pod warunkiem, że SSMTP jest skonfigurowany i potwierdziłeś, że wiadomości bez załączników docierają do miejsca docelowego i nie zależą od mutta.

Zaraz
źródło
Nie sądzę, że to odpowiada na pierwotne pytanie.
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
źródło