【发布时间】:2022-01-01 10:14:06
【问题描述】:
我一直在尝试通过 Gmail API 配置发送测试电子邮件,但收效甚微。我不确定到底出了什么问题,但我收到的错误如下:
文件“c:\Development\foodSaver\emailAPI.py”,第 20 行,在 send_message 中 message = (service.users().messages().send(userId=user_id, body=message).execute()) AttributeError: 'str' 对象没有属性 'users'
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件 “c:\Development\foodSaver\emailAPI.py”,第 28 行,在 send_message('Gmail', 'Person','yes') 文件“c:\Development\foodSaver\emailAPI.py”,第 23 行,在 send_message 除了errors.HttpError作为错误:NameError:未定义名称'errors'
我已将 Credentials.json 文件与我的项目放在同一目录中,但从未被要求在此脚本中引用它。
我目前的代码(产生这个错误):
from email import encoders
from email.mime.base import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import base64
import os
# Writes gmail message
def create_message(sender, to, subject, message_text):
message = MIMEText(message_text)
message['to'] = to
message['from'] = sender
message['subject'] = subject
message = message.as_string()
message = message.encode('utf-8')
return {'raw': base64.urlsafe_b64encode(message)}
# Sends gmail message
def send_message(service, user_id, message):
try:
message = (service.users().messages().send(userId=user_id, body=message).execute())
print('Message Id: %s' % message['id'])
return message
except errors.HttpError as error:
print('An error occurred: %s' % error)
create_message('abittar@nyit.edu','abittar@nyit.edu','This is a test email.','This is the test body message.')
send_message('Gmail', 'Person','yes')
在最后一部分,我尝试为 def 变量输入随机的东西以进行测试。
【问题讨论】: