10

Я только что установил новый сервер Ubuntu 10.04 LTS на линоде для себя. Следовал отличной инструкции по адресу: здесь, чтобы закончить установку некоторых основных вещей, включая postfix.

Я пытаюсь найти способ отправить электронное письмо на мой адрес электронной почты с вложением, но не могу найти как. Уже подтверждено, что электронная почта может попасть на мою учетную запись Gmail.

В конце я должен использовать mutt для отправки электронного письма с вложениями, вероятно, SendEmails также преуспеет , но мне интересно, как сделать то же самое в postfix из командной строки?

Заранее большое спасибо за этот тупой вопрос.

4 ответа4

14

Почему это должен быть postfix непосредственно? mailx -a , mutt или mutt -a также будут использовать интерфейс sendmail - если вы не настроите их для SMTP.

echo "This is a test message" | mutt -s Test -a foo.zip -- $USER
echo "This is a test message" | mail -s Test -a foo.zip $USER

(Обратите внимание, что в bsd-mailx опция -A вместо этого.)


Во всяком случае, вот пример "postfix".

Замените $USER , тип содержимого и имя файла в соответствии с вашей средой. Пример предполагает, что вы отправляете сообщение себе и имеете ZIP-файл foo.zip в текущем каталоге.

(printf "%s\n" \
    "Subject: test" \
    "To: $USER" \
    "Content-Type: application/zip" \
    "Content-Disposition: attachment; filename=foo.zip" \
    "Content-Transfer-Encoding: base64" \
    "";
 base64 foo.zip) | sendmail "$USER"

(Создание составных сообщений MIME, оставленных читателю в качестве упражнения.)

7

Postfix - агент пересылки почты (MTA). Его задача - справиться с доставкой почты: забрать ее и отправить в следующую точку маршрута. Postfix - почтовый работник, чья работа - взять конверт и (с помощью своих коллег) доставить его получателю.

Здесь вы просите секретарскую работу: собирать документы, чтобы положить их в конверт. Это не работа Postfix: это работа почтового агента пользователя (MUA). Вы можете написать сырой MUA, который просто собирает кусочки, чтобы сделать письмо в несколько строк оболочки, как это делали гравити, но Mutt действительно хороший инструмент для этой задачи.

4

Из командной строки мне нравится использовать "sendemail", который на Ubuntu / Debian может быть установлен из командной строки следующим образом:

apt-get install sendemail

Тогда вы можете просто сказать ему использовать localhost (Postfix) в качестве MTA.

На самом деле я только что заметил, что localhost:25 по умолчанию:

-s SERVER[:PORT]          smtp mail relay, default is localhost:25

Затем вы добавляете вложения, используя флаг -a:

sendemail -f sender@example.com -t recipient@example.com -m "This is the message" -u "This is the subject" -a file1.zip file2.zip
1

В mailx 12.4 есть опция для прикрепления файлов:

-a файл
    Прикрепить данный файл к сообщению.

Например:

[gawad@centos Desktop]$ mail -s "pine" -a pine.rpm.gz root@localhostEnter
this is the pine software you asked forEnter
.Enter
EOT
[gawad@centos Desktop]$ 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .