2017-08-31 68 views
0

我有我使用自己的SMTP/IMAP服务器发送电子邮件与Python一对夫妇的问题。 下面的代码:发送邮件与Python和IMAP/SMTP服务器

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) 

好了,所以对于这两个问题,我有: ,当我从我的脚本发送邮件,我需要的邮件出现在“已发送邮件” diretory我的信箱是谁发送。

其次的问题,我有:当发送我的邮件我捕获这个异常:

<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服务器不需要认证。 但程序仍然给我一个空的例外。

代码更新。

+0

除非您的SMTP服务器会为你,你需要连接到您的IMAP服务器和“存储”的电子邮件中发送的文件夹为您的帐户。至于您收到的即时异常 - 还有什么是,厚望告诉你 - 应该有一个说明或错误数字来表示具体问题是什么 - 尽量不要捕捉异常,只是让它停止程序... –

+0

我添加了痕迹。 关于IMAP部分,该怎么做? 顺便说一句,我可能需要删除这些电子邮件与Python,我无法找到如何在IMAPlib python文档中做到这一点。 – Aurelien

+0

对于IMAP位 - 您已阅读[RFC 3501](https://tools.ietf.org/html/rfc3501)的一小段内容...... - 查看STORE命令。 –

回答

0

所以对于这两个问题我有,我找到了答案,多亏了上述评论:

通过SMTP把我发送的电子邮件在正确的邮箱中发送目录: https://pymotw.com/2/imaplib/ 查找“上传消息”

异常问题: 我有我的SMTP服务器上设置任何身份验证方法。

相关问题