SMTP-вложение Python, а не в теле - PullRequest
0 голосов
/ 13 марта 2012

Я написал с помощью сценария, который выводит мои журналы iptable в csv.Это имя файла указано в другом месте как csvout.При использовании приведенного ниже кода, хотя в моем более крупном скрипте возникают две проблемы

Первое. Мой почтовый клиент (эволюция), похоже, имеет проблемы с почтой (в столбце даты / времени есть?)

Второй - данные из файла csvout отправляются в теле письма (как показано внизу), а не в качестве вложения.Как я могу получить файл в качестве вложения, пожалуйста?

Спасибо

# Email the file now...
Mail_subj = 'IPTABLES log for '+str(now)

# Create the container (outer) email message.
msg = MIMEMultipart()
msg['Subject'] = Mail_subj
sender = 'iptables@wopr'
recp = 'ben@wopr'
msg['From'] = sender
msg['To'] = recp


# Grab todays iptables log file
fp = open(csvout, 'rb')
text = MIMEText(fp.read())
fp.close()
msg.attach(text)

# Send the email
s = smtplib.SMTP('localhost')
s.sendmail(sender, recp, msg.as_string())
s.quit()

Письмо ниже

Return-path: <iptables@wopr>
Envelope-to: ben@wopr
Delivery-date: Tue, 13 Mar 2012 13:19:53 +0000
Received: from localhost ([127.0.0.1] helo=[10.100.1.10]) by wopr with
esmtp (Exim 4.76) (envelope-from <iptables@wopr>) id 1S7Rdo-0007mN-TJ for
ben@wopr; Tue, 13 Mar 2012 13:19:52 +0000
Content-Type: multipart/mixed; boundary="===============1365808476=="
MIME-Version: 1.0
Subject: IPTABLES log for 13_03_2012
From: iptables@wopr
To: ben@wopr
X-Evolution-Source: mbox:/var/spool/mail/ben
Date: Tue, 13 Mar 2012 13:20:05 +0000
Message-ID: <1331644805.28329.9.camel@wopr>
X-Evolution-Source: local


--===============1365808476==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Time,MAC,Source_IP,Destination_IP,Protocol,Source_Port,Destination_Port
Mar 12    11:56:28,6c:f0:49:02:3f:d9:00:30:18:ac:a7:22:08:00,10.100.1.1,10.100.1.10,UDP,53,54236
Mar 12 11:56:28,00:00:00:00:00:00:00:00:00:00:00:00:08:00,127.0.0.1,127.0.0.1,UDP,42693,323
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...