我最近在新的Gmail API上尝试过我的手。除了一件事以外,所有的工作似乎都很好。我的问题如下:Gmail API发送电子邮件,但有些不会收到
我在接待员项目工作,可能需要在繁忙时间不到一分钟内生成多个电子邮件。所以,只是为了测试目的我运行下面的代码工作正常:
if __name__ == '__main__':
service = setup() //Simply an helper function to do the basic credential check. Works fine!
print('service:'+str(service))
for counter in range(1, 10):
print('Sending message '+ str(counter))
message = create_message(<SENDER_EMAIL_ID>,<RECEIVER_EMAIL_ID>, "Email Number: "+ str(counter) , "Sample text")
response = send_message(service, 'me' , message)
print(response)
的设置()函数如下:
credentials = get_credentials()
http = credentials.authorize(httplib2.Http())
service = discovery.build('gmail', 'v1', http=http)
现在,当我运行的代码说三次连续在不到一分钟后,代码运行正常,我可以使用Web浏览器查看SENDER_EMAIL_ID的已发送文件夹中的所有27封电子邮件。因此,每当请求发出时,Gmail API都会发送所有消息。但是,只有其中一些电子邮件正在RECEIVER_EMAIL_ID上收到,剩下的只是被放弃。
但是,如果我运行的程序说2-5分钟的延迟,那么所有的邮件正在接收。
我不知道这是为什么。
任何帮助将非常感激。 :)
我可以想象API正在应用某种软限速,所以我建议的是比较调用send_message()时给出的'response'和''response''以便稍后调用' get_message()',并查看响应在立即发送,延迟和丢弃邮件之间的差异。 –
对不起,我应该提到。我正在使用浏览器直接检查收到的邮件。所以我只使用send_message()。我发送的每个查询的响应如下: '已发信息:{u'labelIds':[u'SENT'],u'id':u'157bce1438e5db28',u'threadId': u'157bce1438e5db28'}' –
因此,您的响应没有错误,它会返回[Users.messages资源](https://developers.google.com/gmail/api/v1/reference/users/messages#resource )为循环中的所有项目,但只有一些收件人收到?另外,你的意思是“丢弃” - 发送失败? – adjuremods