SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件,email模块主要负责构造邮件。

  smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等,可能会出现554的错误,可以百度解决.

import smtplib
from email.mime.text import MIMEText
from email.header import Header # 邮箱服务器,我使用的是163邮箱
smtpserver = 'smtp.163.com'
user = 'UserName@163.com'
# 授权码不是密码
password = '********'
# 发件人
sender = 'UserName@163.com'
# 收件人
receiver = 'SendName@126.com'
# 邮件主题
subject = 'python test'
# 编写Html类型的邮件内容
msg = MIMEText("<html><h1>你好!</h1></html>", 'html', 'utf8')
msg['Subject'] = Header(subject, 'utf8')

# 连接发送
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()

  下面用yagmail发送:

import yagmail

# 连接邮箱服务器
yag = yagmail.SMTP(user='UserName@163.com', password='********', host='smtp.163.com')
# 编辑邮箱内容,可写多段
content = ['python test'] yag.send('ReceiverName@163.com', '主题', content)

  

Python通过yagmail和smtplib模块发送简单邮件的更多相关文章

  1. JavaMail发送简单邮件

    非常简单的发送邮件实现,网上有很多啦,但还是自己写写记录下吧. package cn.jmail.test; import java.util.Properties; import javax.mai ...

  2. SpringBoot 发送简单邮件

    使用SpringBoot 发送简单邮件 1. 在pom.xml中导入依赖 <!--邮件依赖--> <dependency> <groupId>org.springf ...

  3. 关于使用 Spring 发送简单邮件

    这是通过Spring 框架内置的功能完成简单邮件发送的测试用例. 导入相关的 jar 包. Spring 邮件抽象层的主要包为 org.springframework.mail. 它包括了发送电子邮件 ...

  4. 使用javaMail发送简单邮件

    参考网页:http://blog.csdn.net/xietansheng/article/details/51673073package com.bfd.ftp.utils; import java ...

  5. (一)JavaMail发送简单邮件

    1,导入依赖 <dependency> <groupId>com.sun.mail</groupId> <artifactId>jakarta.mail ...

  6. Python中time和datetime模块的简单用法

    python中与时间相关的一个模块是time模块,datetime模块可以看为是time模块的高级封装. time模块中经常用到的有一下几个方法: time()用来获取时间戳,表示的结果为从1970年 ...

  7. python——SMTP发送简单邮件

    [root@localhost python]# cat smtp.py import smtplib import string from email.mime.text import MIMETe ...

  8. python+selenium之中类/函数/模块的简单介绍和方法调用

    # coding=utf-8 class ClassA (object): string1 = "这是一个字符串." def instancefunc(self): print ( ...

  9. python接口自动化测试 - 数据驱动DDT模块的简单使用

    DDT简单介绍 名称:Data-Driven Tests,数据驱动测试 作用:由外部数据集合来驱动测试用例的执行 核心的思想:数据和测试代码分离 应用场景:一组外部数据来执行相同的操作 优点:当测试数 ...

随机推荐

  1. 如何理解MVC

    在面试的时候,MVC这个概念考的次数很多,有许多人只能把三个字母解释成三个单词:model,view,controller,但是如果往深处说就说不出来什么东西了,对这个概念模糊不清,今天闲来无事看了一 ...

  2. (一)PlantUML 语法之时序图

    文章目录 前言 `-> -->` 信息传递 声明参与者的几个关键字 `as` 重命名参与者 `#` 添加颜色 `order` 定义参与者顺序 `""` 参与者名字 给自 ...

  3. MATLAB 单元数组 cell 和结构体 struct 的用法以及区别

    1. 前言 Matlab单元数组cell和结构体struct都可以将不同类型的相关数据集成到一个单一的变量中,使得大量的相关数据的处理变得非常简单而且方便.但是,需要注意的是,单元数组和结构体只是承载 ...

  4. STM32之复用功能

    复用功能分复用输入,复用输出,STM32芯片内部集成多种模块,如GPIO.串口.i2c等,为使IO端口支持这些模块,厂家对IO端口进行扩展,同一个端口通过设置寄存器会有不同的功能.如下图IO结构图: ...

  5. dede5.7-修改自定义表单

    最近刚好帮客户做一个网站,需要用到dede的自定义表单功能.可是有个这样的需求,就是当表单提交成功后,要返回一个自定义页面的提示功能!可能是觉得dede自带的提示太low的原因吧!(一不小心又黑了下)

  6. 『Python基础』第6节:流程控制之while循环

    在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...

  7. 撸一个 vue 的截图组件,按比例截取

    <template> <div class="clip-img" :style="imgStyle"> <img :src=&qu ...

  8. 采用二进制方式安装K8S集群,版本etcd-v3.3.10,flannel-v0.11.0,kubernetes-server-linux-amd64

    官方提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环 ...

  9. Go 编译 && 工具

    编译和工具链 Go 的工具链非常丰富,从获取源码.编译.文档.测试.性能分析,到源码格式化.源码提示.重构工具等应有尽有 在 Go 中可以使用测试框架编写单元测试,使用统一的命令行即可测试及输出测试报 ...

  10. html流程实现

    https://blog.csdn.net/github_39335046/article/details/73930886 https://www.cnblogs.com/xcj26/p/98707 ...