smtplib模块
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])
表示与SMTP服务器之间的连接,通过这个连接我们可以向smtp服务器发送指令,执行相关操作(如:登陆、发送邮件)。它的所有参数都是可选的,其中host参数表示smtp服务器主机名,port表示smtp服务的端口,默认是25;如果在创建SMTP对象的时候提供了这两个参数,在初始化的时候会自动调用connect方法去连接服务器。
SMTP.connect([host[, port]])
连接到指定的smtp服务器。参数分别表示smpt主机和端口。SMTP.login(user, password)
登陆到smtp服务器。现在几乎所有的smtp服务器,都必须在验证用户信息合法之后才允许发送邮件。SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
发送邮件。这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意msg的格式。这个格式就是smtp协议中定义的格式。例,msg的值为:
- '''''From: from@yeah.net
- To: to@21cn.com
- Subject: test
- just for test'''
如果要发送的邮件内容很复杂,包含图片、视频、附件等内容,按照MIME的格式来拼接字符串,将是一件非常麻烦的事。不用担心,python已经考虑到了这点,它为我们提供了email模块,使用该模块可以轻松的发送带图片、视频、附件等复杂内容的邮件。
SMTP.quit()
断开与smtp服务器的连接,相当于发送"quit"指令。
email及其相关子模块
class email.mime.multipart. MIMEMultipart: 多个MIME对象的集合。
class email.mime.audio. MIMEAudio: MIME音频对象。
class email.mime.image. MIMEImage: MIME二进制文件对象。
class email.mime.text. MIMEText: MIME文本对象。