python电子邮件是生成无效的messageid还是gmail替换了有效的messageid?

2024-04-25 01:24:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下方式创建并发送了一封电子邮件:

import random
alphabet=list('0123456789')
for i in range(26):
    alphabet.append(chr(ord('a') + i))
    alphabet.append(chr(ord('A') + i))

def gen_random_string(length=30):
    return ''.join([alphabet[random.randint(0, len(alphabet) - 1)] for i in range(length)])


from email.message import EmailMessage
import email
import smtplib

msg = EmailMessage()
msg['From'] = my_email
msg['To'] = other_email
msg.set_content(text)
msg['Message-ID'] = email.utils.make_msgid(idstring=gen_random_string(), domain="MY-DOMAIN")

s = smtplib.SMTP('smtp.gmail.com', '587')
s.starttls()
s.login(credentials.login, credentials.password)
s.send_message(msg)
s.quit()

然而,Gmail取代了它:

Message-ID: <5e7f5e01.1c69fb81.47373.ca02@mx.google.com>
X-Google-Original-Message-ID: <158540544125.4261.11383854704184591387.n6h3EeqHMnoMCVVSkrgbCqlSyCeTfv@MY-DOMAIN>

根据https://groups.google.com/forum/#!topic/comp.mail.sendmail/gkRdBwka4iw

Yes, gmail seems to only overwrite the Message ID if you submit it in a wrong format.

一般来说,我希望获得任意发送消息的消息id(不仅仅是从Gmail帐户)。我不明白问题是出在python电子邮件库还是Gmail上

[UPD]:没有idstring,一切正常


Tags: inimportcomidmessageforemailrange