(1)smtplib模組
import smtplib
smtp=smtplib.smtp()
smtp.connect('smtp.163.com,25')
smtp.login(username,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()
簡單說明:
(2)email模組
2.1 text說明
2.2 image說明
要把嵌入到**中,我們只需要按照傳送附件的方式,先把郵件作為附件新增進去,然後再html中通過引用src="cid:0"就可以把附件作為嵌入了。如果有多個,給它們依次編號,然後引用不同的cid:x即可。
msg.attach(mimetext('' +
'' + '
', 'html', 'utf-8'))
sendimagefile=open(r』d:\pythontest\testimage.png』,『rb』).read()
image = mimeimage(sendimagefile)
image.add_header(『content-id』,』』)
2.3 multpart說明
2.4 加密smtp
使用標準的25埠鏈結smtp伺服器時,使用的是明文傳輸,傳送郵件的整個過程可能會被監聽,要更安全地傳送郵件,可以加密smtp會話,實際上就是先建立ssl安全連線,然後再使用smtp協議傳送郵件
某些郵件服務商,例如gmail,提供的smtp服務必須要加密傳輸,(gmail的smtp埠號是587)如下:
smtp_server = 『smtp.gmail.com』
smtp_port = 587
server = smtplib.smtp(smtp_server, smtp_port)
server.starttls()
#剩下的**和前面的一模一樣:
server.set_debuglevel(1)
只要在建立smtp物件後,立刻呼叫starttls()方法,就建立了安全連線,後面的**和其餘的傳送郵件的**一樣。
import smtplib
from email.mime.text import mimetext
mail_host="smtp.163.com"
mail_user="你的郵箱賬號"
mail_pass="郵箱登入授權碼"
sender="傳送者郵箱"
receivers=["收件人郵箱"]
content="python測試傳送郵件2333"
title="測試郵件"
message=mimetext(content,"plain","utf-8")
message["from"]="{}".format(sender)
message["to"]=",".join(receivers)
message["subject"]=title
try:
smtpobj=smtplib.smtp_ssl(mail_host,465)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,message.as_string())
print("傳送成功")
except smtplib.smtpexception as e:
print(e)
import smtplib
from email.mime.text import mimetext
from email.mime.multipart import mimemultipart
from email.header import header
mail_host="smtp.163.com"
mail_user="你的郵箱賬號"
mail_pass="你的郵箱登入授權碼"
sender="傳送者郵箱賬號"
receivers=["收件人郵箱賬號"]#可以是乙個列表
#建立乙個帶附件的例項
content="郵件正文,用於測試帶附件的郵件傳送"
title="測試郵件"
message=mimemultipart()
message.attach(mimetext(content,"plain","utf-8"))
message["from"]="{}".format(sender)
message["to"]=",".join(receivers)
message["subject"]=title
#構造附件一,傳送乙個txt檔案
att1=mimetext(open("f:/pachong/b/aaa.txt","rb").read(),"base64","utf-8")
att1["content-disposition"]='attachment;filename="aaa.txt"'
message.attach(att1)
#構造附件二,傳送乙個word檔案
att2=mimetext(open("f:/pachong/b/bbb.docx","rb").read(),"base64","utf-8")
att2["content-disposition"]='attachment;filename="bbb.docx"'
message.attach(att2)
try:
smtpobj=smtplib.smtp_ssl(mail_host,465)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,message.as_string())
print("傳送成功")
except smtplib.smtpexception as e:
print(e)
import smtplib
from email.mime.text import mimetext
from email.header import header
from smtplib import smtp_ssl
from email.mime.image import mimeimage
from email.mime.multipart import mimemultipart
from email.mime.text import mimetext
mail_host='smtp.163.com'
mail_user="你的郵箱賬號"
mail_pass="郵箱授權碼"
sender="你的郵箱賬號"
receivers=["收件人1" , "收件人2"]
mail_title='我是郵件標題'
msg=mimemultipart('related')
msg['subject']=header(mail_title,'utf-8')
msg['from']=sender
msg['to']=header("接收測試者",'utf-8') #接收者的別名
msgalternative=mimemultipart("alternative")
msg.attach(msgalternative)
mail_body="""
你好,這是乙份測試python自動傳送郵件的郵件
這個郵件是html中新增的測試郵件
img src="cid:send_image")
')msg.attach(msgimage)
#ssl登入
try:
smtpobj=smtplib.smtp_ssl(mail_host,465)
smtpobj.login(mail_user,mail_pass)
smtpobj.sendmail(sender,receivers,msg.as_string())
smtpobj.quit()
print("傳送成功")
except smtplib.smtpexception as e:
print(e)
利用python 批量傳送郵件
這個 的主要作用是可以 批量傳送郵件,且免登入郵箱。smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議進行了簡單的封裝。s...
利用CDO Message傳送郵件
由於公司把 從自己的伺服器上移到了gd的asp空間上,gd的空間又不支援gmail,找了很多的資料。才找到下面這個發郵件的 經測試,完全可用 mymail.subject 郵件標題 dim content content 郵件主體 mymail.htmlbody content response.w...
利用Web傳送郵件
方法一 using system.web.mail system.web.mail.mailmessage myemail new system.web.mail.mailmessage myemail.from email 163.myemail.to email 163.myemail.subj...