MIME имеет особые правила для обработки пробелов в своих заголовках.В частности, строки, начинающиеся с пробела, рассматриваются как строки продолжения для предыдущего заголовка.В вашем примере, поскольку каждая строка (после первой) начинается с пробела, все содержимое будет обрабатываться как значение заголовка From
.Кроме того, как указал @TokenMacGuy, MIME требует пустой строки между заголовками и полезной нагрузкой сообщения.Если вы переформатируете ваше сообщение следующим образом, оно должно быть правильно истолковано:
message = """From: From Postmaster <%s>
To: To Person <%s>
MIME-Version: 1.0
Content-type: text/html
Subject: blahblah
<b>This is HTML message.</b>
<h1>The following email addresses have been removed</h1>
%s
""" %(self.sender,self.receivers,remove)
Следует решить проблемы, с которыми вы сталкиваетесь.
В качестве альтернативы вы можете использовать пакет email
и избежать управленияФормат сообщения самостоятельно:
import email.mime.text
message = """
<b>This is HTML message.</b>
<h1>The following email addresses have been removed</h1>
%s
""" % remove
message = email.mime.text.MIMEText(message, 'html')
message['From'] = 'From Postmaster <%s>' % sender
message['To'] = 'To Person <%s>' % receivers[0]
message['Subject'] = 'blahblah'