Gmail API Oauth2 从不同地址发送

问题描述 投票:0回答:2

我能够使用 Python 和 google 库(

googleapiclient
google_auth_oauthlib.flow
google.auth.transport.requests
)发送电子邮件。我正在尝试获取备用“发件人”或“回复”地址,但不起作用。我创建消息的代码如下:

# 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'] = '[email protected]'
    message['subject'] = subject
    message.attach(MIMEText(message_text, 'html'))
    return {'raw': base64.urlsafe_b64encode(message.as_string().encode()).decode()}

如您所见,我调整了

from
message
属性。当此消息发送时,它来自 gmail 帐户所有者,而不是“derp”。如何使消息来自不同的地址?

python oauth-2.0 gmail-api google-oauth google-api-python-client
2个回答
1
投票

将您想要发送电子邮件的电子邮件地址添加为“发送邮件”帐户:https://mail.google.com/mail/u/2/#settings/accounts。该其他帐户有必要验证他对该电子邮件地址的控制权。

如果没有此验证过程,似乎不可能使用 gmail oauth 来“欺骗”电子邮件,但如果您使用已弃用的“不太安全的应用程序”,则仍然有可能。


0
投票

如果您的电子邮件帐号位于 Google Workspace 中,您可以通过执行以下操作,通过 OAuth2 从同一网域中的其他电子邮件地址发送电子邮件:

  1. 在 Google Workspace 管理员用户信息(经过身份验证的用户)中,转到 备用电子邮件地址(电子邮件别名)并添加备用电子邮件地址 您想要发送邮件的电子邮件地址。
  2. 在 Gmail 设置中,转到帐户选项卡,然后在“消息发送方式”列表中添加相同的备用电子邮件地址。

您可以添加任意数量的电子邮件地址(来自同一域)。

© www.soinside.com 2019 - 2024. All rights reserved.