利用python发送邮件
- 利用python3发送邮件时候,首先需要了解SMTP:SMTP(Simple Mail Transfer
Protocol)简单邮件传输协议,是在internet传输email的事实标准。它是一个相对简单的基于文本的协议,在其之上指定了一条消息的一个或多个接受者(在大多数情况下被确认是存在的),然后消息文本会被传输。SMTP用于在邮件服务器之间发送电子邮件和路由电子邮件。 - 简单来说SMTP就是发送邮件的协议,python内置对SMTP的支持,python提供的smtplib模块定义了一个SMTP客户端会话对象,可以用它来实现python收发邮件。
- python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib模块负责发送邮件
(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()
简单说明:
-
smtplib.SMTP():实例化SMTP()
-
connect(host,port)
-
host - 代表运行SMTP服务器的主机,可以指定主机的IP地址或者域名,属于可选参数,常用的邮箱域名有:新浪邮箱:smtp.sina.com、
新浪VIP:smtp.vip.sina.com 、搜狐邮箱:smtp.sohu.com、126邮箱:smtp.126.com、
139邮箱:smtp.139.com、163网易邮箱:smtp.163.com、qq邮箱:smtp.qq.com -
port- 如果提供主机参数,需要指定SMTP服务器正在监听的端口,通常这个端口为25,qq邮箱的为465
local_hostname- 如果SMTP服务器在本地计算机上运行,那么可以只指定localhost选项。 -
username- 邮箱账号
-
password- 授权码,即客户端密码,不是邮箱登录密码,而是你在邮箱里边开通SMTP服务的时候设置的授权码。
-
sendmail(from_addr,to_addr,msg,…)
-
from_addr:邮件发送者地址