Как я могу отправить электронное письмо через скрипт Python, если электронное письмо моей компании размещено в Google - PullRequest
0 голосов
/ 25 октября 2019

Как и многие крупные компании, использующие Office365, моя компания использует Google (gsuite) для размещения своего почтового домена. Мне нужно отправлять автоматические электронные письма нескольким людям внутри организации, используя скрипт Python. Как это можно сделать?

Ответы [ 3 ]

1 голос
/ 25 октября 2019

Вы можете использовать стороннюю службу, такую ​​как Mailgun , она предоставляет REST API, который, если вы нажмете, может вызывать электронные письма, которые он будет отправлять с настраиваемого домена, настроенного вами для службы.

Его очень легко использовать для python, я использую его для проектов Raspberry Pi.

def send_simple_message():
    return requests.post(
        "https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
        auth=("api", "YOUR_API_KEY"),
        data={"from": "Excited User <mailgun@YOUR_DOMAIN_NAME>",
            "to": ["bar@example.com", "YOU@YOUR_DOMAIN_NAME"],
            "subject": "Hello",
            "text": "Testing some Mailgun awesomness!"})

Это хорошая альтернатива использованию корпоративного SMTP-сервера.

0 голосов
/ 05 ноября 2019

Google предоставляет Gmail API Api Suite для Python, и это предпочтительный способ доступа вместо логина / пароля smtp

Вам следует обратиться к их консоли разработчика за примерами и учебными пособиями

0 голосов
/ 25 октября 2019

Исправлено.

Чтобы отправить электронное письмо из Python, сначала нужно включить «Менее безопасный доступ к приложению» https://myaccount.google.com/lesssecureapps?utm_source=google-account&utm_medium=web.

Это нужно сделать, если мынет двухфакторной аутентификации.

Если вы используете двухфакторную аутентификацию, вам нужно создать пароль приложения и использовать этот конкретный пароль при отправке электронной почты, а не обычный пароль.

Для создания пароля приложения используйте эту ссылку: https://support.google.com/mail/answer/185833?hl=en

Теперь, используя пример сценария, как показано ниже, мы можем отправить электронное письмо.

import smtplib

# creates SMTP session
s = smtplib.SMTP('smtp.gmail.com', 587)

# start TLS for security
s.starttls()

# Authentication
s.login("username@domain.com", "app_password")

# message to be sent
message = "Message_you_need_to_send"

# sending the mail
s.sendmail("username@domain.com", "recipient@domain.com", message)

# terminating the session
s.quit()
...