class SendEmail(object):
def __init__(self, type, to_addr):
self.to_addr = to_addr
self.sys_date = time.strftime('%Y-%m-%d', time.localtime())
content = u'这是测试邮件内容'if type == 'hichina': # 阿里企业邮箱
self.from_addr = 'username@520czj.com'
self.password = 'user password'
self.smtp_server = 'smtp.mxhichina.com'
else: # 163邮箱
self.from_addr = "username@163.com"
self.password = 'user password'
self.smtp_server = "smtp.163.com" def _format_addr(self, s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr.encode('utf-8') if isinstance(addr, unicode) else addr)) def send_email(self, content):
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = self._format_addr(u'车装甲客服 <%s>' % self.from_addr)
msg['To'] = self._format_addr(u'经销商 <%s>' % self.to_addr)
msg['Subject'] = Header(u'送油通知', 'utf-8').encode() server = smtplib.SMTP(self.smtp_server, 25)
# server.set_debuglevel(1) # 打印debug信息
server.login(self.from_addr, self.password)
server.sendmail(self.from_addr, [self.to_addr], msg.as_string())
server.quit()

注意:

1. 阿里企业邮箱默认SMTP是开通的,但是给同一收件人半小时内不能发第二封

2. 163邮箱默认是不开通SMTP的,设置如下这里需要设置授权密码,设置之后程序里的password为此授权密码,不是登录密码;

3. 163邮箱抛异常:

raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')

两个原因1)没有设置客户端授权;2)密码错误;

python SMTP 发送邮件 阿里企业邮箱、163邮箱 及535错误的更多相关文章

  1. python大法好——Python SMTP发送邮件

    Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. py ...

  2. [Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

    前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时 ...

  3. Python——SMTP发送邮件

    一.定义 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.python的smtplib ...

  4. Thinkphp3.2 PHPMailer 发送 QQ邮箱 163邮箱

    在进入正题这前先看下网易(163)邮箱的服务器地址和端口号 类型 服务器名称 服务器地址 SSL协议端口号 非SSL协议端口号 收件服务器 POP pop.163.com 995 110 收件服务器 ...

  5. 使用Python SMTP发送邮件

    import smtplibfrom email.mime.text import MIMEText # 服务器SMPTserver = "smtp.163.com"# 发送邮件的 ...

  6. Python SMTP发送邮件

    import smtplibfrom email.mime.text import MIMEText  # 引入smtplib和MIMEText host = 'smtp.163.com'  # 设置 ...

  7. python SMTP 发送邮件

    #!/usr/bin/env/python # -*- coding: utf-8 -*- # @Time : 2018/11/19 9:56 # @Author : ChenAdong # @Ema ...

  8. Python SMTP发送邮件Ⅱ

    使用Python发送HTML格式的邮件 Python发送HTML格式的邮件与https://www.xuanhe.net/weixiu/4271.html发送纯文本消息的邮件不同之处就是将MIMETe ...

  9. python学习(21) smtp发送邮件

    原文链接: https://www.jianshu.com/p/369ec15bfe22 本文介绍python发送邮件模块smtplib以及相关MIME模块.smtplib用于生成邮件发送的代理,发送 ...

随机推荐

  1. Linux下su 与 su - 区别

    Linux中切换用户的命令是su或su -.su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell:而后者连用户和Shell环境一起切换成ro ...

  2. a,b为2个整型变量,在不引入第三个变量的前提下写一个算法实现 a与b的值互换

    package com.Summer_0424.cn; /** * @author Summer * a,b为2个整型变量,在不引入第三个变量的前提下写一个算法实现 a与b的值互换? */ publi ...

  3. UI 前端参考

    :http://amazeui.org/ :http://www.dcloud.io/index.html :https://weui.io/ :http://m.sui.taobao.org/get ...

  4. FineUIPro v3.6.0 发布了(3 年助力 200 家企业的信息化建设)!

    FineUI(专业版)自从 2014-07-30 发布第一个版本以来,3 年来已经持续更新了 25 个版本,我们的坚持有目共睹,同时也受到了 200 家企业的青睐和信任,感谢一路有你. FineUI( ...

  5. JavaScript技巧总结和本地存储(二)

    离线检测 检测是否离线,html5为此定义了一个navigator.onLine属性,这个属性为true表示设备能上网,false表示离线,这个属性还有点兼容问题.因此单独使用这个属性不能确定网络是否 ...

  6. WPF仿网易云音乐系列(三、播放进度条+控制按钮)

    一.简介 上一篇,咱们基本把左侧导航栏给搞定,这一篇文章,开始来做一下播放进度条和控制按钮:老规矩,咱们先来看一下原版的效果: 首先,它这个专辑图片,有一个按钮效果,鼠标移入会显示出伸缩箭头:移出后消 ...

  7. eletron打包

    https://www.cnblogs.com/BigJ/p/electron.html https://www.cnblogs.com/kakayang/p/9559777.html

  8. List,DataTable实现行转列的通用方案

    最近在做报表统计方面的需求,涉及到行转列报表.根据以往经验使用SQL可以比较容易完成,这次决定挑战一下直接通过代码方式完成行转列.期间遇到几个问题和用到的新知识这里整理记录一下. 阅读目录 问题介绍 ...

  9. 六、es6 map

    一.map的特点 JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键.这给它的使用带来了很大的限制. 为了解决这个问题,ES6 提供了 ...

  10. 深入解读Promise对象

    promise对象初印象: promise对象是异步编程的一种解决方案,传统的方法有回调函数和事件,promise对象是一个容器,保存着未来才会结束的事件的结果 promise对象有两个特点: 1.p ...