Как я могу отправить вложение с помощью ssmtp в Linux?

14

Теперь я могу отправлять электронную почту из моей учетной записи Gmail с помощью ssmtp в Linux. Но как я могу прикрепить файлы к электронной почте?

DeepSky
источник

Ответы:

9

Чтобы отправить вложение, вам необходимо закодировать сообщение с помощью MIME .

Вы могли бы использовать Mutt

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

или mpack

mpack -s SUBJECT -D MESSAGE_FILE ATTACHMENT_FILE EMAIL_ADDRESS

Смотрите также:

Mikel
источник
Благодарю. Так значит ли это, что невозможно отправить вложение одним только ssmtp?
Дипский
3
Это возможно, но вам нужно как-то сгенерировать все заголовки MIME. Почему вам нужно только использовать ssmtp? Если ssmtpпредоставляет /usr/lib/sendmailили /usr/sbin/sendmail, любая локальная почтовая программа должна быть в состоянии отправить через ssmtp.
Микель
3
@deepsky ssmtp не является пользовательским интерфейсом. Это MTA (почтовый транспортный агент), который является инфраструктурой, доступ к которой осуществляется через MUA (почтовый пользовательский агент, также известный как «mailreader»). Впечатляет то, что вы смогли самостоятельно справиться с ssmtp без MUA, но это не разумный метод. Это хороший навык отладки сети, который вы выучили!
Алан Карри
21
echo -e "to: receiver@domain.tld\nsubject: subject\n"| (cat - && uuencode /path/to/attachment attachment.name) | ssmtp receiver@gmail.com

Это решение не зависит от mutt.

Metrix
источник
4
Как это получает отрицательный голос? это решает проблему.
Метрикс
3
Кстати, SSMTP используется многими людьми для отправки автоматических электронных писем через Gmail: nixtutor.com/linux/send-mail-with-gmail-and-ssmtp
metrix
2
Я знаю, что этот ответ пришел через год после того, как был задан вопрос, но это ответ на вопрос. Отлично работает, спасибо.
RTF
2
4 года спустя, июль 2017 г. - это ответ, который я искал. Спасибо, @metrix!
SDsolar
отсутствует команда uuencode
Павел Недоба
1
$ echo -e "to: receiver@domain.tld\nsubject: test\n"| (cat - && uuencode /path/to/file file.name) | ssmtp sender@gmail.com

При условии, что настроен SSMTP, и вы убедились, что сообщения без вложений достигают своего назначения и не зависят от Mutt.

скоро
источник
Я не думаю, что это отвечает на оригинальный вопрос.
СЛМ
0
 $ sudo apt-get install uudeview
 $ echo -e "From: myaddress@mydomain.com\nTo: youraddress@yourdomain.com\nSubject: mySubject\n\nBody-Text"|uuenview -a -bo MyAttachment|sendmail -t
Мичи
источник