python模塊:smtplib模塊

  • 2020 年 1 月 10 日
  • 筆記

1.使用本地的sendmail協議進行郵件發送

格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])

host:SMTP服務器主機的IP地址或者是域名

port:服務的端口號(默認是25)

local_hostname:服務器的地址(默認是localhost)

格式(2):SMTP.sendmail(from_addr),to_addrs,msg[,mail_options,rcpt_options]

from_addr:郵件發送的地址

to_addr:郵件接收地址

msg:發送信息

(3).郵件發送代碼

[root@web01 ~]# vim smtplib12.py #!/bin/env python #!-*- coding:UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header sender='[email protected]' receivers='[email protected]'         #如果收件人是多個可寫成列表message=MIMEText('Python 郵件內容:郵件發送測試…….','plain','utf-8') message['From']=Header('郵件發送端','utf-8') message['To']=Header('收件端','utf-8') subject='Python SMTP 郵件測試' message['Subject']=Header(subject,'utf-8') try:     smtpObj=smtplib.SMTP('localhost')     smtpObj.sendmail(sender,receivers,message.as_string())     print "恭喜你!郵件發送成功" except smtplib.SMTPException:     print "Error: 無法發送郵件" [root@web01 ~]# python smtplib12.py 恭喜你!郵件發送成功 [root@web01 ~]#

(4).郵件接收

2.使用第三方平台(QQ,網易,新浪)發送郵件,本機沒有安裝sendmail服務端.

(1).郵件代碼

[root@web01 ~]# vim smtplib12.py

#!/bin/env python #!-*- coding:UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header mail_host='smtp.126.com' mail_user='[email protected]' mail_password='z597011036zzz' sender='[email protected]' receivers=['[email protected]'] message=MIMEText('Python 郵件時間:2015-02-01','plain','utf-8') message['From']=Header("郵件發送端","utf-8") message['To']=Header("收件端","utf-8") subject="Python SMTP" message['Subject']=Header(subject,"utf-8") try:     smtpObj=smtplib.SMTP()     smtpObj.connect(mail_host,25)     smtpObj.login(mail_user,mail_password)     smtpObj.sendmail(sender,receivers,message.as_string())     print "恭喜你!郵件發送成功"     smtpObj.quit() except smtplib.SMTPException as e:      print "Error 無法發送郵件"      print e [root@web01 ~]# python smtplib12.py 恭喜你!郵件發送成功 [root@web01 ~]#

(2).郵件發送成功