首先安裝sendmail
yum install sendmail
service sendmail start
安裝完成後,sendmail預設可以用localhost來向外面傳送郵件。
用python傳送郵件:參考
例項**如下:
(send_mail.py)
其中config.py的配置如下:import smtplib
import email
from email.mime.text import mimetext
from email.mime.multipart import mimemultipart
import datetime
import logging
import config
log = logging.getlogger("email")
def _send_mail(to_list,sub,content):
"""to_list: email to who?
sub: email subject
content: email content
send_mail("aaa@126.com","sub","content")
"""me=config.mail_user+"<"+config.mail_user+"@"+config.mail_postfix+">"
#msg = mimetext(content)
msgroot = mimemultipart('related')
msgroot['subject'] = sub
msgroot['from'] = me
msgroot['to'] = ";".join(to_list)
msgroot['date'] = email.utils.formatdate()
msgroot.preamble = 'this is a message from ***'
msgalt = mimemultipart('alternative')
msgroot.attach(msgalt)
html = content
html_part = mimetext(html, 'html', 'utf-8')
msgalt.attach(html_part)
try:
s = smtplib.smtp()
s.connect(config.mail_host)
#s.login(config.mail_user,config.mail_pass)
s.sendmail(me, to_list, msgroot.as_string())
s.close()
return true
except exception, e:
log.exception(str(e))
print str(e)
return false
def fill_table(content):
text =""" hi,
the following messages are from inconsistency check :
"""head = """"""
end = ""
sub = """time
inconsistency item
database value
actual check result
""" return text + head + sub + content + end
def send_email(content):
t = str(datetime.datetime.now())
subject = "check result: %s" % t
content = fill_table(content)
if _send_mail(config.mailto_list,subject,content):
print "send email success."
log.info("send email:%s success." % subject)
else:
print "send email fail."
log.error("send email:%s fail" % subject)
return
傳送email的content的格式如下:# mail to, multi destinations must split with ','
mailto_list = ["aaa@126.com, bbb@126.com"]
# mail from
mail_host="localhost"
mail_user="root"
mail_postfix="bbb.com" #網域名稱
直接呼叫send_email(self.email_content)即可傳送。
def _add_email_content(self, output):
t = str(datetime.datetime.now())
content = """%s
%s%s
%s""" % (t, str(output[0]), str(output[1]), str(output[2]))
self.email_content = self.email_content + content
html傳送郵件 Python傳送郵件(三十)
簡單郵件傳輸協議 smtp 是一種協議,用於在郵件伺服器之間傳送電子郵件和路由電子郵件。python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它...
python 傳送郵件
coding utf 8 import smtplib from email.mime.text import mimetext from email.header import header 檔案形式的郵件 def email file mail host smtp.qq.com 郵箱伺服器 ma...
python 傳送郵件
smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議進行了簡單的封裝。直接貼 coding utf 8 import smt...