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).邮件发送成功