python使用SMTP发送qq或sina邮件
作者:Jacck 发布时间:2021-03-08 01:06:55
标签:python,SMTP,邮件
python使用qq邮箱(个人邮箱)发送邮件需开启qq邮箱的SMTP服务
在设置中开启pop3/SMTP服务,返回的密码就是之后代码中登录使用账户密码(在完整代码中标识了出来)
之后出现如下错误
smtplib.SMTPAuthenticationError: (530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')
错误说要开ssl发送邮件
在原来的代码上添加上如下三行代码即可
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.ehlo()
完整代码如下
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "smtp.qq.com" # 设置服务器,qq的SMTP服务host
mail_user = "xxx@qq.com" # 用户名(须修改)
mail_pass = "xxxxxxxxxxxxxxxx" # 此处为在qq开启SMTP服务时返回的密码 (须修改)
sender = 'xxx@qq.com' # 同用户名 (须修改)
receivers = ['xxx@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('...', 'plain', 'utf-8')
message['From'] = Header("第一封python测试邮件", 'utf-8')
message['To'] = Header("测试", 'utf-8')
try:
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.ehlo()
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print "邮件发送成功"
except smtplib.SMTPException :
print "Error: 无法发送邮件"
在使用sina邮箱开启SMPT服务后使用python发送信息卡在了如下错误#不是很理解
smtplib.SMTPDataError: (553, 'Envolope sender mismatch with header from..')
成功的例子是
import smtplib
server = "smtp.sina.com"
fromaddr= "xxx@sina.com" #须修改
toaddr = "xxx@qq.com" #须修改
msg = """
to:%s
from:%s
Hello,I am smtp server
""" %(toaddr,fromaddr)
s = smtplib.SMTP(server)
s.set_debuglevel(1)
s.login("xxx@sina.com","xxx") #须修改
s.sendmail(fromaddr,toaddr,msg)
报错的例子是
import smtplib
from email.mime.text import MIMEText
from email.header import Header
server = "smtp.sina.com"
fromaddr= "xxx@sina.com"
toaddr = "xxx@qq.com"
message = MIMEText('...', 'plain', 'utf-8')
message['From'] = Header(fromaddr, 'utf-8')
message['To'] = Header("toaddr", 'utf-8')
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
s = smtplib.SMTP(server)
s.set_debuglevel(1)
s.login("xxx@sina.com","xxx")
s.sendmail(fromaddr,toaddr,message)
来源:http://www.cnblogs.com/Jacck/p/7656439.html


猜你喜欢
- 1、确定服务器上的防火墙没有阻止 3306 端口 MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无
- ES5为数组定义了5个迭代方法。每种方法都接收两个参数。要在每一项上运行的函数和(可选的)运行该函数的作用域对象--影响this的值。//其
- 前一阵看到一篇文章《使用css3仿造window7的开始菜单》,文中仅使用CSS3 实现了Windows 7 开始菜单的动态效果,很久以来一
- 凯撒密码 是密码学中的一种简单的 替换加密 技术。明文中的所有字符都会替换为其按照字母表顺序向左(或向右)偏移一定量后得到的新字母,作为加密
- 这个主要应用于,获取用户输入的时候,防止用户不小心,多输入了一个空格,导致验证无法通过,多用于用户名跟密码的,好多情况下,大家复制的winr
- 直接po截图和代码下面是CheckFormDemo.html<!DOCTYPE html><html><hea
- 前言如果你有阅读源码的习惯,可能会看到一些优秀的代码经常出现带有 “with” 关键字的语句,它通常用在什么场景呢?今天就来说说 with
- 网上关于各种降维算法的资料参差不齐,同时大部分不提供源代码。这里有个 GitHub 项目整理了使用 Python 实现了 11 种经典的数据
- 一、什么是数组数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。二、声明数据在PHP中声
- 简介困扰在 Python 中使用并发编程来提高效率对于数据科学家来说并不罕见。在后台观察各种子进程或并发线程以保持我的计算或 IO 绑定任务
- 学习目的:掌握下拉列表框的用法,并理解AutoPostBack属性; 理解IsPoskBack及用法; 初识DataTable的
- 1. 数据类型 type()#!/usr/bin/env python# -*- coding: utf-8 -*-# Yongqiang
- 本文实例讲述了Python基于递归实现电话号码映射功能。分享给大家供大家参考,具体如下:问题电话按键上面的每个数字都对应着几个字母,如果按下
- go-micro是golang的一个微服务框架。这篇文章将介绍使用go-micro最新版本v4开发gRPC服务的方式。1、安装protoc这
- 功能:读取txt文本,然后将目的字符串标红,再将处理过的字符串写入docx中txt文本内容:啊打发发烧鳌太路线点击点击诶的骄傲计划将鳌太标红
- 是在客户端确认还是在服务器端确认? <SCRIPT LANGUAGE="VBSc
- 简单方法:models.pyclass IceCreamBar(models.Model): title
- 功能描述抽奖系统包含如下特点:1、可给不同抽奖者设置不同的权重2、先从价值高的奖品开始抽3、已经中奖的人,不再参与后续的抽奖代码第一个数字表
- 经常看到说正则的文章,但说的只是方法,却很少有说以下几个基本概念:1.贪婪:+,*,?,{m,n}等默认是贪婪匹配,即尽可能多匹配,也叫最大
- 场景:把一个时间字符串转成Date,存进Mysql。时间天数会比实际时间少1天,也可能是小时少了13-14小时Mysql的时区是CST(使用