x实现发送邮件作用,python三运用SMTP发送轻易文本邮件

By admin in 编程 on 2019年5月28日

一、设置开启SMTP服务并获取授权码

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

python3利用smtplib通过qq邮箱发送邮件方法示例,python3smtplib

前言

本文主要给大家介绍了关于python3 smtplib通过qq邮箱发送邮件的相关内容,
smtplib模块是smtp简单邮件传输协议客户端的实现,为了通用性,有时候发送邮件的时候要带附件或图片,用email.mime来装载内容。

详细代码参考说明:Python3 SMTP发送邮件

0.了解qq邮箱的SMTP

QQ邮箱 POP3 和 SMTP 服务器地址设置如下:

邮箱 POP3服务器(端口995) SMTP服务器(端口465或587)
qq.com pop.qq.com smtp.qq.com

SMTP服务器需要身份验证。

1.开启qq邮箱的smtp服务

如何打开POP3/SMTP/IMAP功能?

为了保障用户邮箱的安全,QQ邮箱设置了POP3/SMTP/IMAP的开关。系统缺省设置是“关闭”,在用户需要这些功能时请“开启”。
首先,登录邮箱,进入设置-帐户;

编程 1

然后,在“帐户”设置中,找到设置项,进行设置,如下:

编程 2

最后,保存设置,即打开了相应的服务。

2.代码

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender='[email protected]' # 发件人邮箱账号
my_pass = 'xxxxxxxxxxxx'    # 发件人邮箱密码(当时申请smtp给的口令)
my_user='[email protected]'  # 收件人邮箱账号,我这边发送给自己
def mail():
 ret=True
 try:
  msg=MIMEText('填写邮件内容','plain','utf-8')
  msg['From']=formataddr(["发件人昵称",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
  msg['To']=formataddr(["收件人昵称",my_user])    # 括号里的对应收件人邮箱昵称、收件人邮箱账号
  msg['Subject']="邮件主题-测试"    # 邮件的主题,也可以说是标题

  server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是465
  server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
  server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
  server.quit()# 关闭连接
 except Exception:# 如果 try 中的语句没有执行,则会执行下面的 ret=False
  ret=False
 return ret

ret=mail()
if ret:
 print("邮件发送成功")
else:
 print("邮件发送失败")

注意:如果收件人地址错误,但代码还是会提示”邮件发送成功”,如果是地址错误在qq邮箱中会收到”来自qq.com的退信”

3.效果

发送成功

编程 3
发送

如果在一般邮件中没看到,可以在垃圾邮件中查看

编程 4
接收

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对帮客之家的支持。

前言 本文主要给大家介绍了关于python3
smtplib通过qq邮箱发送邮件的相关内容, s…

0.如果使用第三方邮件服务器SMTP服务来发送邮件,首先要在邮箱设置里面开启POP3/SMTP/IMAP服务,下面以163邮箱为例,其它邮箱设置方法相同

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

163邮箱SMTP服务器:smtp.163.com

# - * - 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()

QQ邮箱SMTP服务器:smtp.qq.com

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

1.首先登录自己的邮箱,找到【设置】》【POP3/SMTP/IMAP】,开启相应的服务

编程 5

编程 6

如图:

编程 7

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

2.然后开启并获取客户端授权码(这里的授权码并不是登录邮箱时的密码,而是第三方邮箱服务使用的授权码)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

编程 8

您可能感兴趣的文章:

  • python3实现SMTP发送邮件详细教程
  • python3实现163邮箱SMTP发送邮件
  • python3模块smtplib实现发送邮件功能
  • python3使用smtplib实现发送邮件功能
  • python3利用smtplib通过qq邮箱发送邮件方法示例
  • python3.5
    email实现发送邮件功能
  • Python3实现带附件的定时发送邮件功能
  • Python3使用SMTP发送带附件邮件

二、使用Python3 发送邮件

0.使用的环境为:
Python 3.6.3 (64bit)
编程,PyCharm 2017.3 (64bit)

1.实现代码:

import smtplib 
from email.header import Header     # 用来设置邮件头和邮件主题 
from email.mime.text import MIMEText    # 发送正文只包含简单文本的邮件,引入MIMEText即可 

# 发件人和收件人 
sender = 'XXXXXXXXXXX@163.com' 
receiver = 'XXXXXXXXX@qq.com' 

# 所使用的用来发送邮件的SMTP服务器 
smtpServer = 'smtp.163.com' 

# 发送邮箱的用户名和授权码(不是登录邮箱的密码) 
username = 'XXXXXXXXXXX' 
password = 'XXXXXXXX' 

mail_title = '这里是邮件的主题' 
mail_body = '这里是邮件的正文' 

# 创建一个实例 
message = MIMEText(mail_body, 'plain', 'utf-8') # 邮件正文 
message['From'] = sender       # 邮件上显示的发件人 
message['To'] = receiver       # 邮件上显示的收件人 
message['Subject'] = Header(mail_title, 'utf-8') # 邮件主题 

try: 
 smtp = smtplib.SMTP()       # 创建一个连接 
 smtp.connect(smtpServer)      # 连接发送邮件的服务器 
 smtp.login(username, password)    # 登录服务器 
 smtp.sendmail(sender, receiver, message.as_string()) # 填入邮件的相关信息并发送 
 print("邮件发送成功!!!") 
 smtp.quit() 
except smtplib.SMTPException: 
 print("邮件发送失败!!!") 

2.发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下
发送方发送的邮件:

编程 9

接收方收到的邮件:

编程 10

3.这里是发送最简单的格式的邮件的示例,正文只包含文本

还可以发送:
正文为HTML格式的邮件
包含附件的邮件(附件可以是HTML网页,TXT文本,JPG图片,以及音频、视频等)
后面继续讲

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

  • python3实现SMTP发送邮件详细教程
  • python发送邮件的实例代码(支持html、图片、附件)
  • python中使用smtplib和email模块发送邮件实例
  • Python实现SMTP发送邮件详细教程
  • Python实现给qq邮箱发送邮件的方法
  • python同时给两个收件人发送邮件的方法
  • python实现发送邮件及附件功能
  • 二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
  • python发送邮件示例(支持中文邮件标题)
  • 基于python发送邮件的乱码问题的解决办法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门新葡亰官网app 版权所有