У меня возникли проблемы с отправкой сообщения на несколько адресов с помощью Gmail API. Я успешно отправил сообщение только на один адрес, но получаю следующую ошибку, когда включаю несколько адресов, разделенных запятыми, в поле 'To'
:
Произошла ошибка: https://www.googleapis.com/gmail/v1/users/me/messages/send?alt=json вернул "Недопустимый заголовок">
Я использую методы CreateMessage
и SendMessage
из этого руководства по API Gmail: https://developers.google.com/gmail/api/guides/sending
В этом руководстве говорится, что для API Gmail требуются сообщения, соответствующие RFC-2822. Мне снова не очень повезло с некоторыми из этих примеров адресации в руководстве RFC-2822: https://tools.ietf.org/html/rfc2822#appendix-A
У меня сложилось впечатление, что «[email protected], [email protected], [email protected]» должна быть допустимой строкой для передачи в параметр «to» CreateMessage
, но ошибка, которую я получил от SendMessage
заставляет меня думать иначе.
Пожалуйста, дайте мне знать, если вы можете воссоздать эту проблему, или если у вас есть какие-либо советы о том, где я могу сделать ошибку. Благодарю вас!
Изменить: вот фактический код, который приводит к ошибке...
def CreateMessage(sender, to, subject, message_text):
message = MIMEText(message_text)
message['to'] = to
message['from'] = sender
message['subject'] = subject
return {'raw': base64.urlsafe_b64encode(message.as_string())}
def SendMessage(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, error:
print 'An error occurred: %s' % error
def ComposeEmail():
# build gmail_service object using oauth credentials...
to_addr = 'Mary Smith <[email protected]>, [email protected], Who? <[email protected]>'
from_addr = '[email protected]'
message = CreateMessage(from_addr,to_addr,'subject text','message body')
message = SendMessage(gmail_service,'me',message)