【问题标题】:Send mail using python to required recipients使用 python 将邮件发送给所需的收件人
【发布时间】:2019-04-30 00:23:03
【问题描述】:

我正在尝试将电子邮件从我的官方 ID 自动发送到另一个官方 ID。为此,我使用了以下 python 脚本。

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText

fromaddr = "<SENDER MAIL ID>"
toaddr = "<RECIPIENT MAIL ID>"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "SUBJECT OF THE MAIL"

body = "Robot Uprising, We are coming for you"
msg.attach(MIMEText(body, 'plain'))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "YOUR PASSWORD")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()

在执行此操作时,我面临以下问题:

Traceback (most recent call last):
  File "mailsendtest.py", line 2, in <module>
    from email.MIMEMultipart import MIMEMultipart
ImportError: No module named MIMEMultipart

我是python的初学者。请提供输入。谢谢!

【问题讨论】:

  • 在 Python 3 中是 from email.mime.multipart import MIMEMultipart

标签: python email mime


【解决方案1】:

假设您使用的是 Python3,我发现您的 imports 存在两个问题。

  1. from email.MIMEMultipart import MIMEMultipart更改为from email.mime.multipart import MIMEMultipart

  2. from email.MIMEText import MIMEText更改为from email.mime.text import MIMEText

如果这些库不起作用,请确保您已安装这些库。

【讨论】:

  • 谢谢,这解决了问题,我现在面临一个新问题。
  • Traceback(最近一次通话最后):文件“mailsendtest.py”,第 15 行,在 server = smtplib.SMTP('smtp.gmail.com', 587) 文件“C: \Integration\python\pyt\lib\smtplib.py",第 259 行,在 init (code, msg) = self.connect(host, port) File "C:\Integration\python\pyt \lib\smtplib.py”,第 319 行,在连接 self.sock = self._get_socket(host, port, self.timeout) 文件“C:\Integration\python\pyt\lib\smtplib.py”中,第 294 行,在 _get_socket 返回 socket.create_connection((host, port), timeout) socket.gaierror: [Errno 11001] getaddrinfo failed
  • 这与您正在使用的 smtp 库有关。
猜你喜欢
  • 2021-06-27
  • 2019-06-17
  • 1970-01-01
  • 2016-08-21
  • 2017-09-26
  • 2014-02-06
  • 1970-01-01
  • 2016-08-11
  • 2018-11-19
相关资源
最近更新 更多