В моем Maildir есть файлы электронной почты, полученные с помощью сервера postfix (Ubuntu). Есть ли утилита, которая может пересылать выбранный файл электронной почты на указанный адрес электронной почты? Что-то вроде:
cat emailfile | utility to@address.com
Я пытался использовать почта команда, но она просто отправила все содержимое файла, включая всю техническую информацию заголовка, в виде простого текста, что выглядит не очень хорошо.
cat emailfile | mail -s subject to@address.com
Обновить
Извините за неточность. Я хотел переслать файл электронной почты из сценария оболочки без вложений, но удалить весь заголовок и метаданные и представить их в удобной для человека форме. Как и в gmail, когда вы нажимаете «переслать», он автоматически анализирует электронное письмо, добавляет вверху текст «перенаправленное сообщение», а затем помещает основной текст сообщения. Я знаю, что могу сам проанализировать файл электронной почты и создать новое письмо, но я подумал, что есть утилита, которая может сэкономить мне пару часов.
Возможностей больше, чем одна.
cat emailfile | sendmail -f to@address.com
. Возможно, вам придется перед этим переписать почту, так как это не «пересылает» почту, а вместо этого «отправляет» почту.*_alias_maps
mail to@address.com < mailfile
делает тело письма содержимым файла. Если это не работает для вас, возможно, вам придется написать свой собственный.
Это взято из Документация библиотеки Python 2.7:
# Import smtplib for the actual sending function
import smtplib
# Here are the email package modules we'll need
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
COMMASPACE = ', '
# Create the container (outer) email message.
msg = MIMEMultipart()
msg['Subject'] = 'Our family reunion'
# me == the sender's email address
# family = the list of all recipients' email addresses
msg['From'] = me
msg['To'] = COMMASPACE.join(family)
msg.preamble = 'Our family reunion'
# Assume we know that the image files are all in PNG format
for file in pngfiles:
# Open the files in binary mode. Let the MIMEImage class automatically
# guess the specific image type.
fp = open(file, 'rb')
img = MIMEImage(fp.read())
fp.close()
msg.attach(img)
# Send the email via our own SMTP server.
s = smtplib.SMTP('localhost')
s.sendmail(me, family, msg.as_string())
s.quit()
Единственное реальное изменение здесь заключается в том, что вы будете использовать класс email.mime.image.MIMEApplication вместо MIMEImage ... и, конечно же, измените поля to, from и subject на что-то подходящее.