我有一个带填充字符串的格式化文件,当我用gmail把它发送到我的帐户时,文件中的所有填充都会被删除,邮件的格式也不好,因为gmail没有保持原来的格式。 如何避免这种情况?在
我尝试了这个代码,但它不能使用原始电子邮件:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
from email import encoders
fileHandler = "logg.log"
session = Session(profile_name="test", region_name="eu-west-1")
ses = session.client('ses')
today = datetime.date.today() - datetime.timedelta(days=1)
for file in sorted(glob.glob(fileHandler + '*'), key=os.path.getmtime):
body = MIMEText(open(file, 'r').read())
body['Subject']="aws-log"
response = ses.send_raw_email(
Source = "smymail@.com",
Destinations=[
"smymail@fluksaqua.com",
],
RawMessage={
'Data': body.as_string()
},)
即使使用原始邮件,邮件也不是纯文本的。在
以下是我发送到gmail的文件:
这是我收到的邮件:
仔细看看你收到的电子邮件。在
将其主体复制出来并粘贴到文本编辑器中。你应该发现这些空格实际上是完全正确的。在
我认为这里的问题不在于SES。在
问题是Gmail的用户界面以比例字体显示纯文本电子邮件,而不是固定宽度的字体。请注意IIIIIIII如何比WWWWW占用更少的水平空间,即使字符数相同。这自然会破坏空格格式。相反。。。在
如果要控制显示,则需要使用HTML并指定固定宽度的字体。在
我终于解决了我的问题,这个家伙救了我!!方法如下:
你不需要} 方法,它实际上同时接受}体参数:
send_raw_email
。如果您看一下^{Text
和{如果你只是提供一个文本正文,应该能让你得到你要找的纯文本电子邮件。在
至于gmail纯文本格式,它们将按照RFC 2822第2.1.1节的要求换行78个字符: https://tools.ietf.org/html/rfc2822
这是纯文本电子邮件的公认标准。您可以自己将消息格式化为纯文本,但必须遵守每行78个字符的限制,以避免重新格式化。在
相关问题 更多 >
编程相关推荐