当公司电子邮件托管在Google上时,如何通过python脚本发送电子邮件

时间:2019-10-25 14:29:57

标签: python email gmail email-attachments gsuite

就像许多使用Office365的大公司一样,我的公司也使用谷歌(gsuite)托管其电子邮件域。我需要使用python脚本向组织内的多个人发送自动电子邮件。怎么办?

3 个答案:

答案 0 :(得分:1)

您可以使用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服务器的不错选择。

答案 1 :(得分:0)

将其修复。

要从Python发送电子邮件,我们首先需要打开“缺少安全的应用程序访问权限” https://myaccount.google.com/lesssecureapps?utm_source=google-account&utm_medium=web

如果我们没有2因子身份验证,我们需要这样做。

如果您使用2因子身份验证,则需要创建应用密码并在发送电子邮件时使用该特定密码,而不是常规密码。

要创建应用密码,请使用以下链接: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()

答案 2 :(得分:0)

Google提供了适用于python的Gmail api套件,相对于smtp登录/密码,它是首选的访问方式

有关示例和教程,请参考他们的developer console