2017-08-31 114 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服務器上設置任何身份驗證方法。

相關問題