Gmail API Oauth2 从不同地址发送
Gmail API Oauth2 Send from different address
我可以使用 Python 和 google 库(googleapiclient
、google_auth_oauthlib.flow
和 google.auth.transport.requests
)发送电子邮件。我正在尝试获取备用 "from" 或 "reply-to" 地址,但它不起作用。我创建消息的代码是这样的:
# Returns an e-mail message suitable for submission through the gmail api.
def create_message(sender, to, subject, message_text):
message = MIMEMultipart()
message['to'] = to
#message['from'] = sender
message['from'] = 'derp@nowhere.com'
message['subject'] = subject
message.attach(MIMEText(message_text, 'html'))
return {'raw': base64.urlsafe_b64encode(message.as_string().encode()).decode()}
如您所见,我调整了 message
的 from
属性。发送此邮件时,它来自 gmail 帐户所有者,而不是 "derp"。如何让消息来自不同的地址?
添加电子邮件地址作为 "Send Mail As" 帐户:https://mail.google.com/mail/u/2/#settings/accounts。其他帐户有必要验证他可以控制该电子邮件地址。
似乎无法 "spoof" 在没有此验证过程的情况下使用 gmail oauth 发送电子邮件,但如果您使用已弃用的 "less secure apps",则仍然可以。
我可以使用 Python 和 google 库(googleapiclient
、google_auth_oauthlib.flow
和 google.auth.transport.requests
)发送电子邮件。我正在尝试获取备用 "from" 或 "reply-to" 地址,但它不起作用。我创建消息的代码是这样的:
# Returns an e-mail message suitable for submission through the gmail api.
def create_message(sender, to, subject, message_text):
message = MIMEMultipart()
message['to'] = to
#message['from'] = sender
message['from'] = 'derp@nowhere.com'
message['subject'] = subject
message.attach(MIMEText(message_text, 'html'))
return {'raw': base64.urlsafe_b64encode(message.as_string().encode()).decode()}
如您所见,我调整了 message
的 from
属性。发送此邮件时,它来自 gmail 帐户所有者,而不是 "derp"。如何让消息来自不同的地址?
添加电子邮件地址作为 "Send Mail As" 帐户:https://mail.google.com/mail/u/2/#settings/accounts。其他帐户有必要验证他可以控制该电子邮件地址。
似乎无法 "spoof" 在没有此验证过程的情况下使用 gmail oauth 发送电子邮件,但如果您使用已弃用的 "less secure apps",则仍然可以。