Добрый день!
Мне необходимо для тестирования системы периодически отправлять и получать специальные письма с различными заголовками. Для реализации этой задачи я использую smtplib и MIMEText с энкодером encode_quopri.
import smtplib
from email.mime.text import MIMEText
from email.encoders import encode_quopri
SERVER = 'mailserver.loc'
FROM = 'sender@' + SERVER
TO = 'abonent1@' + SERVER
msg = MIMEText('проверка проверка проверка', 'plain', _charset='windows-1251')
msg['Subject'] = 'subject'
msg['From'] = FROM
msg['To'] = TO
msg['X-Message-id'] = 'xmsg_id'
encode_quopri(msg)
print (msg)
На выходе получаю:
Content-Type: text/plain; charset="windows-1251"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Subject: subject
From: sender@mailserver.loc
To: abonent1@mailserver.loc
X-Message-id: xmsg_id
Content-Transfer-Encoding: quoted-printable
=EF=F0=EE=E2=E5=F0=EA=E0=20=EF=F0=EE=E2=E5=F0=EA=E0=20=EF=F0=EE=E2=E5=F0=EA=
=E0
Но у меня задвоился заголовок:
Content-Transfer-Encoding: base64
...
Content-Transfer-Encoding: quoted-printable
Я попробовал удалить первый, но тогда ломается quoted-printable и результат:
7/Du4uXw6uAg7/Du4uXw6uAg7/Du4uXw6uA=3D
Моя цель получить вот такой заголовок:
Date: Wed, 1 Jun 2011 11:25:32 +0400
From: Billinfo <billing@mailserver.loc>
X-Priority: 3 (Normal)
Message-ID: <878185321.20110601112532>
To: abonent1@mailserver.loc
Subject: Just a subject
Resent-from: Billinfo <billing@mailserver.loc>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----------115EA32B5A1C2"
Resent-Message-Id: <20110601072537.A8F1A3C14A>
Resent-Date: Wed, 1 Jun 2011 11:25:37 +0400 (MSD)
------------115EA32B5A1C2
Content-Type: text/plain; charset=windows-1251
Content-Transfer-Encoding: quoted-printable
=EF=F0=EE=E2=E5=F0=EA=E0=20=EF=F0=EE=E2=E5=F0=EA=E0=20=EF=F0=EE=E2=E5=F0=EA=
=E0
------------115EA32B5A1C2
Content-Type: APPLICATION/VND.MS-EXCEL;
name="doc.xls"
Content-transfer-encoding: base64
Content-Disposition: attachment;
filename="doc.xls"
some base64 content
------------115EA32B5A1C2--
Буду благодарен за любую помощь в решении моего вопроса!