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).郵件發送成功

