![](/img/trans.png)
[英]Unable to send mail on an ECS fargate job using python SDK with credentials of a verified SES in another aws account
[英]How to send a plain text mail using AWS SES to gmail
我有一个带填充字符串的格式化文件,当我用gmail将其发送到我的帐户时,该文件中的所有填充都将被删除,并且邮件格式不正确,因为gmail无法保持原始格式。 如何避免这种情况?
我尝试了此代码,但使用Raw email无法正常工作:
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的文件:
这是我收到的邮件:
您不需要send_raw_email
。 如果您查看send_email
方法,它实际上会同时使用Text
和Html
正文参数:
Message={
'Subject': {
'Data': 'string',
'Charset': 'string'
},
'Body': {
'Text': {
'Data': 'string',
'Charset': 'string'
},
'Html': {
'Data': 'string',
'Charset': 'string'
}
}
}
如果您仅提供一个文本正文,它将为您提供所需的纯文本电子邮件。
至于gmail纯文本格式,按照RFC 2822第2.1.1节的规定,它们将以78个字符换行: https : //tools.ietf.org/html/rfc2822
这是纯文本电子邮件的公认标准。 您可以自行设置消息格式为纯文本格式,但必须遵守每行78个字符的限制,以避免重新格式化。
请仔细查看您收到的电子邮件。
复制其主体并将其粘贴到文本编辑器中。 您应该发现空格实际上是完全正确的。
我认为,这里的问题不是SES。
问题在于,Gmail的用户界面以比例字体而不是固定宽度字体显示纯文本电子邮件。 请注意,即使字符数相同,IIIIII如何也比WWWWWW占用更少的水平空间。 这自然会破坏带空格的格式。 反过来...
# IIIIII - code blocks on SO
# WWWWWW - use a fixed width typeface
# even though the rest of the post doesn't
# so I and W are the same width here but not above
如果要控制显示,则需要使用HTML并指定固定宽度的字体。
我终于解决了我的问题,这个人<pre></pre>
救了我! 方法如下:
body = '<pre width="300" style="font-size: 14px; max-width: 100%;">' + body + '</pre>'
subject = objet+" %s" % (today.strftime("%Y-%m-%d"))
for email in emailarg.split(','):
response = ses.send_email(
Source = email,
Destination={
'ToAddresses': [
email,
],
},
Message={
'Subject': {
'Data': subject
},
'Body': {
'Html': {
'Data': body
},
}
}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.