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


14

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

Ответы:


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

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


Благодарю. Так значит ли это, что невозможно отправить вложение одним только 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.


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.