【问题标题】:How can I send email through python script when my company email is hosted on Google当我的公司电子邮件托管在 Google 上时,如何通过 python 脚本发送电子邮件
【发布时间】:2020-02-21 22:10:04
【问题描述】:

就像许多使用 Office365 的大公司一样,我的公司正在使用 google (gsuite) 来托管他们的电子邮件域。我需要使用 python 脚本向组织内的多个人发送自动电子邮件。怎么可能?

【问题讨论】:

  • 您关心这些电子邮件中的From: 地址吗?
  • gmail 的 SMTP 与 Outlook 非常相似,因此只需使用正确的 SMTP 服务器即可。

标签: python email gmail email-attachments google-workspace


【解决方案1】:

您可以使用像Mailgun 这样的第三方服务,它提供了一个 REST API,如果您点击该 API,您可以触发电子邮件,该电子邮件将从您在服务上配置的自定义域发送。

python 超级好用,我用它做树莓派项目。

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 服务器的一个不错的替代方案。

【讨论】:

  • 使用未经批准的第三方服务发送公司电子邮件是自找麻烦。
  • @r.ook 绝对是有效的评论,取决于使用情况。如果他们发送报告或仅供内部使用的信息,则肯定不会。构建失败或触发警报系统的警报电子邮件可能并不那么重要。最好问问负责人!
【解决方案2】:

解决了。

为了从 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()

【讨论】:

    【解决方案3】:

    Google 为 python 提供 Gmail api 套件,它是访问与 smtp 登录/密码相比的首选方式

    您应该参考他们的developer console 以获取示例和教程

    【讨论】:

      猜你喜欢
      • 2020-12-15
      • 1970-01-01
      • 2013-08-15
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      • 2011-09-16
      • 1970-01-01
      相关资源
      最近更新 更多