利用Python实现邮件的发送

2024-10-26 12:23:43

1、 首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。

利用Python实现邮件的发送利用Python实现邮件的发送

4、email模块 1.class email.message.Message __getitem__,__setitem__实现obj[key]形式的访问。 Msg.attach(playload): 向当前Msg添加playload。 Msg.set_playload(playload): Msg.add_header(_name, _value, **_params): 添加邮件头字段。2.class email.mime.base.MIMEBase(_maintype, _subtype, **_params) 所有MIME类的基类,是email.message.Message类的子类。3.class email.mime.multipart.MIMEMultipart() 在3.0版本的email模块 (Python 2.3-Python 2.5) 中,这个类位于email.MIMEMultipart.MIMEMult ipart。这个类是MIMEBase的直接子类,用来生成包含多个部分的邮件体的MIME对象。4.class email.mime.text.MIMEText(_text) 使用字符串_text来生成MIME对象的主体文本。

利用Python实现邮件的发送

6、编写程序如下:#! /usr/bin/env pythonimport smtplifrom email.mime.text import MIMETextmailto_list=['xxxx@xxx.com'] #收件人(列表)mail_host="smtp.163.com" #使用的邮箱的smtp服务器地址mail_user="name" #用户名mail_pass="pwd" #密码mail_postfix="postfix" #邮箱的后缀def send_mail(to_list,sub,content): me="hello"+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEText(content,_subtype='plain') msg['Subject'] = sub msg['From'] = me msg['To'] = ";".join(to_list) #将收件人列表以‘;’分隔 try: server = smtplib.SMTP() server.connect(mail_host) #连接服务器 server.login(mail_user,mail_pass) #登录操作 server.sendmail(me, to_list, msg.as_string()) server.close() return True except Exception, e: print str(e) return Falsefor i in range(5): #发送五封,不过会被拦截的。。。 if send_mail(mailto_list,"hello","haha!"): #邮件主题和邮件内容 print "done!" else: print "failed!"最后,可以运行编写的py文件,可以得到如图所是的结果,代表邮件发送成功。

利用Python实现邮件的发送

7、这样,就能成功实现用Python发送邮件啦!可以看到接收端接收到的邮件如:

利用Python实现邮件的发送
猜你喜欢