python發(fā)送email還是比較簡單的,可以通過登錄郵件服務(wù)來發(fā)送,linux下也可以使用調(diào)用sendmail命令來發(fā)送,還可以使用本地或者是遠程的smtp服務(wù)來發(fā)送郵件,不管是單個,群發(fā),還是抄送都比較容易實現(xiàn)。
先把幾個最簡單的發(fā)送郵件方式記錄下,像html郵件,附件等也是支持的,需要時查文檔即可
1、登錄郵件服務(wù)
#!/usr/bin/env python?
# -*- coding: utf-8 -*-?
#python2.7x?
#send_simple_email_by_account.py? @2014-07-30?
#author: orangleliu?
?
'''''
使用python寫郵件 simple
使用126 的郵箱服務(wù)
'''?
?
import smtplib?
from email.mime.text import MIMEText?
?
SMTPserver = 'smtp.126.com'?
sender = 'liuzhizhi123@126.com'?
password = "xxxx"?
?
message = 'I send a message by Python. 你好'?
msg = MIMEText(message)?
?
msg['Subject'] = 'Test Email by Python'?
msg['From'] = sender?
msg['To'] = destination?
?
mailserver = smtplib.SMTP(SMTPserver, 25)?
mailserver.login(sender, password)?
mailserver.sendmail(sender, [sender], msg.as_string())?
mailserver.quit()?
print 'send email success'?
2、調(diào)用sendmail命令 (linux)
# -*- coding: utf-8 -*-?
#python2.7x?
#send_email_by_.py?
#author: orangleliu?
#date: 2014-08-15?
'''''
用的是sendmail命令的方式
?
這個時候郵件還不定可以發(fā)出來,hostname配置可能需要更改
'''?
?
from email.mime.text import MIMEText?
from subprocess import Popen, PIPE?
?
def get_sh_res():?
??? p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)?
??? return str(p.communicate()[0])?
?
def mail_send(sender, recevier):?
??? print "get email info..."?
??? msg = MIMEText(get_sh_res())?
??? msg["From"] = sender?
??? msg["To"] = recevier?
??? msg["Subject"] = "Yestoday interface log results"?
??? p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)?
??? res = p.communicate(msg.as_string())?
??? print 'mail sended ...'?
?
if __name__ == "__main__":?
??? s = "957748332@qq.com"?
??? r = "zhizhi.liu@chinacache.com"?
??? mail_send(s, r)?
3、使用smtp服務(wù)來發(fā)送(本地或者是遠程服務(wù)器)
#!/usr/bin/env python?
# -*- coding: utf-8 -*-?
#python2.7x?
#send_email_by_smtp.py?
#author: orangleliu?
#date: 2014-08-15?
'''''
linux 下使用本地的smtp服務(wù)來發(fā)送郵件
前提要開啟smtp服務(wù),檢查的方法
#ps -ef|grep sendmail
#telnet localhost 25
?
這個時候郵件還不定可以發(fā)出來,hostname配置可能需要更改
'''?
import smtplib?
from email.mime.text import MIMEText?
from subprocess import Popen, PIPE?
?
?
def get_sh_res():?
??? p = Popen(['/Application/2.0/nirvana/logs/log.sh'], stdout=PIPE)?
??? return str(p.communicate()[0])?
?
def mail_send(sender, recevier):?
??? msg = MIMEText(get_sh_res())?
??? msg["From"] = sender?
??? msg["To"] = recevier?
??? msg["Subject"] = "Yestoday interface log results"?
??? s = smtplib.SMTP('localhost')?
??? s.sendmail(sender, [recevier], msg.as_string())?
??? s.quit()?
??? print 'send mail finished...'?
?
if __name__ == "__main__":?
??? s = "zhizhi.liu@chinacache.com"?
??? r =? s?
??? mail_send(s, r)?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
