python3.x实现发送邮件功能

yipeiwu_com6年前Python基础

本文实例为大家分享了python3.x 发送邮件的具体代码,供大家参考,具体内容如下

Python有两个包可以发送邮件:smtplib和email

# - * - coding: utf - 8 -*-
#
# 作者:田丰
# 邮箱:fonttian@163.com
# 撰写时间:2017年4月22日
# Python版本:3.6.1
# CSDN:http://blog.csdn.net/fontthrone
#
import smtplib
import email.mime.multipart
import email.mime.text

msg = email.mime.multipart.MIMEMultipart()
msgFrom = 'fonttian@163.com' #从该邮箱发送
msgTo = 'marktian1986@163.com' #发送到该邮箱
smtpSever='smtp.163.com' # 163邮箱的smtp Sever地址
smtpPort = '25' #开放的端口
sqm='将这里替换为你的授权码' # 在登录smtp时需要login中的密码应当使用授权码而非账户密码

msg['from'] = msgFrom
msg['to'] = msgTo
msg['subject'] = 'Python自动邮件-'+dataNumber
content = '''
你好:
  这是一封python3发送的邮件
'''
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
smtp = smtplib
smtp = smtplib.SMTP()
'''
smtplib的connect(连接到邮件服务器)、login(登陆验证)、sendmail(发送邮件)
'''
smtp.connect(smtpSever, smtpPort)
smtp.login(msgFrom, sqm)
smtp.sendmail(msgFrom, msgTo, str(msg))
# s = smtplib.SMTP("localhost")
# s.send_message(msg)
smtp.quit()

要注意的是现在的163需要先开启smtp服务,然后获取验证码才能真正的使用,其他邮箱也是类似的效果
此处仅仅以网易邮箱为例:

如图:

1.在登录网易邮箱网页版后,在图中的设置中点击”POP3/SMTP/IMAP”服务
2.然后点击图中黄色荧光笔位置,即可开始设置SMTP服务,注意保存授权码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pip指定python位置安装软件包的方法

由于电脑上安装了多个版本的pip,以及不同的pip对应不同的python,因此有时候使用pip install安装某个包时,可能会没有安装在想要的位置。 具体而言,在我电脑上,运行pip...

Golang GBK转UTF-8的例子

问题:在 Golang 的调试过程中出现中文乱码 原因:Golang 默认不支持 UTF-8 以外的字符集 解决:将字符串的编码转换成UTF-8 首先需要 mahonia 这个包...

django-crontab 定时执行任务方法的实现

需求 每天请求一封邮件,并读取该邮件 这个其实可以使用linux 自带了crontab实现,但是毕竟是django 开发。想着不知道有没有方法可以从django 中实现。 简单搜索了下...

详解Python locals()的陷阱

在工作中, 有时候会遇到一种情况: 动态地进行变量赋值, 不管是局部变量还是全局变量, 在我们绞尽脑汁的时候, Python已经为我们解决了这个问题. Python的命名空间通过一种字典...

Python 实现字符串中指定位置插入一个字符

如下所示: str_1='wo shi yi zhi da da niu/n'str_list=list(str_1) nPos=str_list.index('/') str_li...