在发送邮件之前需要先设置邮件开启了SMTP等功能,对于163还需要获取授权码

这里设置保存修改

这里获取授权码

完整封装发送邮件类

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr,formataddr class SendEmail:
#设置基本信息,包括发件人,发件人密码,收件人邮箱,以及发件箱服务器地址
#发送方
Send_Email = "18xxxxxx@sina.cn"
#发送方密码
Send_Pwd = "xxxxxx"#对于163这里就不是密码,而是授权码
#接收方
Recv_Email = "xxxx@163.com" #设置发件方服务器地址
SMTP_Server = 'smtp.sina.cn'
#设置发件方服务器端口
SMTP_Ser_Port= def __int__(self):
pass @classmethod
def _format_address(cls,text):
#按照空格解析 发件人发送新浪信 <xxxx@sina.cn>
name, address = parseaddr(text)
return formataddr((Header(name, "utf-8").encode(), address))
#注意formataddr是元组 @classmethod
def send_email_text(cls):
# 第一个参数:邮件正文
# 第二个参数:邮件类型 纯文本
# 第三个参数:编码
msg = MIMEText("测试smtp邮件发送功能", "plain", "utf-8") #这里注意了,大多数错误出在这里,当直接使用Header('xxx','utf-8')时会出错,需要进行解析,重组
#=?utf-?b?5p2l6IeqMTYz55qE5LiA5bCB6YKu5Lu2?= <xxxx@.com>
msg["From"] = SendEmail._format_address("发件人发送新浪信 <%s>" % SendEmail.Send_Email)#预留空格,在昵称和地址间
msg["To"] = SendEmail._format_address("收件人由163接收 <%s>"%SendEmail.Recv_Email)
msg["Subject"] = Header("测试邮箱功能", "utf-8").encode()#主题 try:
server = smtplib.SMTP(SendEmail.SMTP_Server, SendEmail.SMTP_Ser_Port) server.login(SendEmail.Send_Email, SendEmail.Send_Pwd)
# 登录smtp服务器
server.sendmail(SendEmail.Send_Email, [SendEmail.Recv_Email], msg.as_string())
# 发送邮件
server.quit()
print("邮件发送成功")
except Exception as e:
print(e)
print("邮件发送失败") if __name__ =="__main__":
SendEmail.send_email_text()

python---网络之邮件发送的更多相关文章

  1. python自动化之邮件发送

    #!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.multipart import MIMEMul ...

  2. Selenium+Python之163邮件发送

    今晚写了一个163邮箱登录的脚本,由于不停的访问163登录主页导致直接访问163邮箱主页登录需要输入验证码,因为无法获取到验证码,就这导致直接访问主页登录脚本不可行,为了绕过验证码,现在先访问hao1 ...

  3. 【python】smtp邮件发送

    纯文本: #!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from ...

  4. Python -- 网络编程 -- Socket发送文件

    客户端如果直接send两次,一次发文件名,一次发文件内容 服务端接受的时候会一起接收,不知怎么分开发送,或者分开接收, 或者全部接收再解析内容 今天发现传送mp3文件的时候没问题,传送文本文件的话,以 ...

  5. python网络编程-socket发送大数据包问题

    一:什么是socket大数据包发送问题 socket服务器端或者客户端在向对方发送的数据大于对方接受的缓存时,会出现第二次接受还接到上次命令发送的结果.这就出现象第一次接受结果不全,第二次接果出现第一 ...

  6. 用python SMTP进行邮件发送

    import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart & ...

  7. python SMTP邮件发送(转载)

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

  8. python selenium2示例 - email发送

    前言 在进行日常的自动化测试实践中,我们总是需要将测试过程中的记录.结果等等等相关信息通过自动的手段发送给相关人员.python的smtplib.email模块为我们提供了很好的email发送等功能的 ...

  9. 测试开发【提测平台】分享11-Python实现邮件发送的两种方法实践

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 按照开发安排,本篇本应该是关于提测页面的搜索和显示实现,怕相似内容疲劳,这期改下内容顺序,将邮件服务的相关的提前,在之前的产品需求和原型中 ...

  10. python系统监控及邮件发送

    python系统监控及邮件发送   #psutil模块是一个跨平台库,能轻松实现获取系统运行的进程和系统利用率   import psutil                              ...

随机推荐

  1. 小学四则运算APP 第二个冲刺 第一天

    团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第二次冲刺阶段时间:11.29~12.09 本次发布的是已完成的功能二(选择题): ChoiceActivity.java: packag ...

  2. Jenkins 安装简记录

    下载jenkins.war,放入tomcat 启动tomcat,如果console报错java.lang.OutOfMemoryError: PermGen space,则修改startup.bat( ...

  3. Java 修饰符顺序问题

    What is a reasonable order of Java modifiers (abstract, final, public, static, etc.)? http://stackov ...

  4. PDF文档打印太慢怎么办

    如下图,用Adobe Acrobat打开PDF文件,然后[高级]-打勾[作为图像打印]即可

  5. intval()和int()

    int intval ( mixed $var [, int $base ] )    通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按 ...

  6. 无法定位程序输入点 zend_empty_string php7.dll

    phpstudy 在安装php_redis.dll php_redis.pdb 时,需要用到php_igbinary.dll扩展.但我下载的版本不对.下载的是7.2版本的. 所以报以上错误.可选择版本 ...

  7. Centos6.5下VNC Server配置

    整个流程如下~ 1.首先,检查下本机是否安装了vnc: 提示没有安装,那么开始装吧: 2.先关闭防火墙 查看防火墙状态: 关闭防火墙: 注:要切到root下 [carsonzhu@localhost ...

  8. Check failed: status == CUBLAS_STATUS_SUCCESS (11 vs. 0) CUBLAS_STATUS_MAPPING_ERROR

    I0930 21:23:15.115576 30918 solver.cpp:281] Learning Rate Policy: multistepF0930 21:23:17.263314 310 ...

  9. JTextPane或JTextPane设置了滚动条,文本增加后,滚动条自动下滑,追加文本的例子

    http://zhizaibide1987.iteye.com/blog/1012955 https://zhidao.baidu.com/question/2116908942184706107.h ...

  10. 百度/头条合作命中注定!中国新BAT要来了

    据外媒报道,今日头条母公司字节跳动(ByteDace)将为中国互联网传统BAT的格局,带来一些新的活力.这家增速飞快的新闻.视频App“制造者”已经估值高达750亿美元,与三巨头之一的百度平起平坐,后 ...