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

Это очень просто с awk (благодаря @glenn jackman):

awk '/Sequence: n/ { $2 = NR } { print }' input-file

Относительно sed, Я только смог сделать это с разработкой с двумя передачами (протестированный с GNU sed и с ssed:):

sed '/^Sequence: n$/{s/n$//p;=;d;}' | sed '/^Sequence: $/{N;s/\n//;}' 

Первые вставки номер строки в строке после "Последовательности": вторые соединения эти две строки.

14
27.07.2012, 02:45
4 ответа

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

Вы могли использовать Дурака

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

См. также:

9
27.01.2020, 19:50
  • 1
    Спасибо. Таким образом, это должно сказать, что не возможно отправить вложение одним только ssmtp? –  deepsky 26.07.2012, 18:26
  • 2
    Это возможно, но необходимо было бы генерировать все заголовки MIME так или иначе. Почему Вы должны только использовать ssmtp? Если ssmtp обеспечивает /usr/lib/sendmail или /usr/sbin/sendmail, любая программа местной почты должна смочь отправить через ssmtp. –  Mikel 26.07.2012, 18:34
  • 3
    @deepsky ssmtp, не пользовательский интерфейс. Это - MTA (агент передачи почты), который является инфраструктурой, предназначенной, чтобы быть полученным доступ через MUA (почтовый агент пользователя, также известный как "mailreader"). Это - вид впечатляющих, что Вы смогли пререкаться ssmtp собой без MUA, но это не разумный метод выполнения вещей. Это - хороший отлаживающий сеть навык, который Вы освоили хотя! –  Alan Curry 27.07.2012, 07:47
$ echo -e "to: receiver@domain.tld\nsubject: test\n"| (cat - && uuencode /path/to/file file.name) | ssmtp sender@gmail.com

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

1
27.01.2020, 19:50
  • 1
    я не думаю, что это отвечает на исходный вопрос. –  slm♦ 02.09.2013, 06:10
echo -e "to: receiver@domain.tld\nsubject: subject\n"| (cat - && uuencode /path/to/attachment attachment.name) | ssmtp receiver@gmail.com

Это решение не зависит от дурака.

21
27.01.2020, 19:50
  • 1
    Как это получает отрицательное голосование? это решает проблему. –  metrix 16.09.2013, 17:43
  • 2
    Между прочим, SSMTP используется многими людьми для отправки автоматизированных электронных писем через Gmail: nixtutor.com/linux/send-mail-with-gmail-and-ssmtp –  metrix 16.09.2013, 18:23
  • 3
    , я знаю, что этот ответ вошел спустя более чем год после того, как вопрос задали, но это - ответ на вопрос. Работает отлично, спасибо. –  RTF 01.08.2014, 22:18
  • 4
    4 спустя, июль 2017 - Это - ответ, который я искал. Спасибо, @metrix! –  SDsolar 21.07.2017, 08:09
  • 5
    , пропускающий Uuencode, управляет –  Pavel Niedoba 28.08.2017, 18:08
 $ 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
0
27.01.2020, 19:50

Теги

Похожие вопросы