【发布时间】:2020-06-02 23:51:08
【问题描述】:
我可以使用 Python 和谷歌库(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'] = '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”。如何让消息来自不同的地址?
【问题讨论】:
-
此功能在使用“不太安全的应用程序”时运行良好。
-
您好@LimitedAtonement,所以您正尝试从其他用户的电子邮件地址发送电子邮件?如果是这样,让其他帐户批准所需的权限是正常的。至于“不太安全的应用程序”,谷歌可能会阻止任何试图登录该帐户的人,我认为这不是一个可行的选择。干杯!
-
@ale13 谢谢!我们目前采用的解决方案使用“不太安全的应用程序”,并且能够从我们可以想象的任何“发件人”地址发送。现在我们需要让其他帐户批准吗?这太糟糕了。我知道电子邮件是一种不安全的通信媒介,因为电子邮件很容易被欺骗。我猜谷歌正试图单枪匹马地结束这种简单的欺骗。
标签: python oauth-2.0 gmail-api google-oauth google-api-python-client