我能够使用 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”。如何使消息来自不同的地址?
将您想要发送电子邮件的电子邮件地址添加为“发送邮件”帐户:https://mail.google.com/mail/u/2/#settings/accounts。该其他帐户有必要验证他对该电子邮件地址的控制权。
如果没有此验证过程,似乎不可能使用 gmail oauth 来“欺骗”电子邮件,但如果您使用已弃用的“不太安全的应用程序”,则仍然有可能。
如果您的电子邮件帐号位于 Google Workspace 中,您可以通过执行以下操作,通过 OAuth2 从同一网域中的其他电子邮件地址发送电子邮件:
您可以添加任意数量的电子邮件地址(来自同一域)。