【发布时间】:2018-02-27 21:00:22
【问题描述】:
我在使用 Python 发送电子邮件时遇到问题。此脚本的目的是它应该从指定文件夹加载所有 .PDF 文件,并将第一个文件发送到 .CSV 文件中的第一封电子邮件,依此类推。这工作正常,在我的最后,电子邮件出现在我在 gmail.com 的发件箱中,包含正确的附件。
另一方面,本应收到这些电子邮件的收件人却没有收到。我还检查了这些电子邮件的垃圾邮件箱,但找不到它们。
- 有人知道为什么吗?
- 另外,如果我发送到我的电子邮件,邮件会到达我的收件箱。
这是我认为出错的部分代码:
#imports
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
counter = 0
for mailTo in emailRecList:
try:
#server connection
server = smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(loginMail, loginPassword)
#__Send email__
server.sendmail(sendMail,loginMail,email)
server.quit
counter = counter + 1
except smtplib.SMTPException:
print('Failed to send mail to: ' + mailTo)
【问题讨论】:
-
那是很多代码。您能否尝试将其范围缩小到您认为相关的内容?还有一些基本的故障排除:您确定 SMTP 服务器的响应表明邮件已发送?您是否使用了正确的凭据?
-
@YotamSalmon 他说他们出现在他的
Sentgmail 邮箱中,所以它必须正确连接到 SMTP 服务器。邮件很可能被收件人的垃圾邮件过滤器阻止了。 -
dirDivider = '/'?你为什么不使用os.path.join()? -
我当然错过了。谢谢,@Barmar
-
哦,我将来会使用 os.join.path(),不知道那个。有什么办法可以告诉邮件地址“这不是垃圾邮件”
标签: python email smtp gmail smtplib