python - Gmail API Oauth2 从不同地址发送
问题描述
googleapiclient
我可以使用 Python 和谷歌库( 、、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()}
如您所见,我已经调整from
了message
. 发送此消息时,它来自 gmail 帐户所有者,而不是“derp”。如何使消息来自不同的地址?
解决方案
将您要发送电子邮件的电子邮件地址添加为“发送邮件为”帐户:https ://mail.google.com/mail/u/2/#settings/accounts 。该其他帐户有必要验证他控制该电子邮件地址。
如果没有此验证过程,似乎不可能使用 gmail oauth “欺骗”电子邮件,但如果您使用已弃用的“不太安全的应用程序”,它仍然是可能的。
推荐阅读
- html - 在 html 中禁用/启用特定的 div id(类)
- r - 在 Rcpp 中检查向量的 Null 和 NA
- python - 根据来自其他模型的另一个值在模型字段中设置一个值
- java - 使用带字符的 HashMap 时需要标识符
- python - 输入的排列并在循环中运行外部程序
- python - Django 表单未按正确顺序显示字段
- python - 如何使用python在outlook中获取倒数第二个电子邮件?
- java - 加载小型 csv 文件后 Java 中的内存大小爆炸
- windows - 无法使用 Powershell 在 Windows 10 上将 Bcrypt.Net-Next 程序集安装到 GAC
- angular - 在重新加载页面之前,Ionic Storage 值不会显示在 HTML 上