Gmail API Oauth2 Отправить с другого адреса - PullRequest
0 голосов
/ 19 февраля 2020

Я могу отправлять электронные письма, используя 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'] = '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, а не «сумасшедшему». Как сделать так, чтобы сообщение приходило с другого адреса?

1 Ответ

1 голос
/ 19 февраля 2020

Добавьте адрес электронной почты, от имени которого вы хотите отправить письмо, в качестве учетной записи «Отправить почту как»: https://mail.google.com/mail/u/2/#settings / account . Для этой другой учетной записи необходимо убедиться, что он контролирует этот адрес электронной почты.

По-видимому, невозможно "подделать" электронную почту с помощью gmail oauth без этого процесса проверки, хотя, если вы используете устаревшие «менее безопасные приложения» все еще возможны.

...