使用Python和IMAP / SMTP服务器发送邮件

时间:2017-08-31 16:04:26

标签: python email python-2.6 smtplib imaplib

我使用自己的SMTP / IMAP服务器发送使用Python发送电子邮件时遇到了一些问题。 这是代码:

import sys
import imaplib
import smtplib
import email
import email.header
import datetime

smtp_session = smtplib.SMTP(mail_server)
try:
    smtp_session.ehlo()
except :
    err = sys.exc_info()[0]


message = """\
From: %s
To: %s
Subject: %s

%s""" % (email_from, ", ".join([email_to]), "subject", "body")
try:
    smtp_session.sendmail(email_from, [email_to], message)
    smtp_session.quit()
except:
    err = sys.exc_info()[0]

if err != "" or err !=None:
    NagiosCode = 2
    NagiosMsg = "CRITICAL: Script execution failed : " + str(err)

好的,我有两个问题: 当我从我的脚本发送邮件时,我需要将邮件显示在"已发送的项目中#34;发送邮件的邮箱的指示。

我有第二个问题:发送邮件时我发现了这个例外:

<class 'smtplib.SMTPException'>

编辑:异常追踪:

  File "checkIMAP_client.py", line 153, in <module>
    smtp_session.login(login, password)
  File "/usr/lib64/python2.6/smtplib.py", line 559, in login
    raise SMTPException("SMTP AUTH extension not supported by server.")
smtplib.SMTPException: SMTP AUTH extension not supported by server.

编辑: 我的SMTP服务器似乎不需要身份验证。 但该程序仍然给我一个空例外。

代码已更新。

1 个答案:

答案 0 :(得分:0)

因此,对于我遇到的两个问题,由于上述评论,我找到了答案:

通过SMTP将我发送的电子邮件放入Sent目录中的右侧邮箱中: https://pymotw.com/2/imaplib/ 查找“正在上传邮件”

例外问题: 我的SMTP服务器上没有设置auth方法。