邮件是互联网上应用非常广泛的服务,几乎所有的编程语言都支持发送和接收电子邮件,使用Python发送邮件和接收邮件也是非常简单易学的。现在几乎每个人的收集上都自带邮件客户端,多数邮件都支持短信提醒,一次,在运维场景中将程序报错的信息发送到相应人员的邮箱可以及时感知程序的报错,尽早处理从而避免更多的损失。当然,使用程序发送邮件还有许多应用场景,如网站的密码重置等,在此不再一一列举。

1. 发送邮件

关于如何写代码发送邮件,我们应首先想到发送邮件使用什么协议。目前发送邮件的协议是SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。我们编写代码,实际上就是将待发送的消息使用SMTP协议的格式进行封装,再提交SMTP服务器进行发送的过程。

Python内置的smtplib提供了一种很方便的途径发送电子邮件,可以发送纯文本邮件、HTML邮件及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

我们来看一下如何创建SMTP对象。Python创建SMTP对象语法如下:

import smtplib

smtpObj = smtplib.SMTP([host [, port [, local_hostname ] ] ] )

参数说明:

host: SMTP服务器主机,可以指定主机的IP地址或域名,是可选参数。

port:如果提供了host参数,就需要指定SMTP服务使用的端口号,一般情况下

19. 邮件提醒(发送邮件)相关推荐

  1. JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

    JavaWeb学习总结(五十二)--使用JavaMail创建邮件和发送邮件 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两 ...

  2. 自制CSDN博客评论邮件提醒

    CSDN 本身是有评论邮件提醒服务的.我知道,但是........... 你们自己看吧.... 干啥啊?邮件轰炸机嘛?? 拉黑,拉黑 !!! 自己搞一个了. 上代码: # -*- coding:utf ...

  3. java 拉取收件箱邮件源码_邮件提醒系统:新邮件识别

    最近在做邮件提醒抄送企业微信消息系统,就目前而言,无论是pop3还是imap都没有一个好的方法只接收新邮件,基本只能依靠收件箱列表message自行判断,下面给出几种思路并作对比. //收件箱 fol ...

  4. (转载)JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

    博客源地址:http://www.cnblogs.com/xdp-gacl/p/4216311.html 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封 ...

  5. python QQ空间新说说邮件提醒功能实现

    先看一下qq邮件是怎么发送的!! 我们先做一个qq邮件发送的插件 #coding:utf-8 #导入所需要的工具包 import smtplib import time from email.mime ...

  6. 力扣每日一题每天自动邮件提醒

    A.需求来源与分析 需求来源于生活,对于只是偶尔有兴趣做做题的我,力扣的每日一题对我一直有以下的不便: 太简单不想做,需要花太多时间的不想做,每天打开力扣其实只是想看一下是什么题,有意思才做. 看题需 ...

  7. 基于UDP心跳监测及邮件提醒功能的看门狗实现

    1. 背景 在服务器应用程序中,为了能够及时检测到服务器程序崩溃,并重新启动服务器程序,所以,我们需要实现一个监测程序,持续检测服务器程序的运行状态. 2. 思路 在服务器程序中,建立一个基于UDP的 ...

  8. 解决ios设备自带邮箱只能接收邮件不能发送邮件问题的方法

    解决ios设备自带邮箱只能接收邮件不能发送邮件问题的方法 解决的办法:邮件\通讯录\日历 一: (1)用手机网页登录QQ邮箱网页版 (2)登录后,拉到下面,设置-账户,选择这个号码的作为默认发信帐号– ...

  9. 用Jenkins连接腾讯企业邮箱,在构建任务失败时给自己发邮件提醒

    参考:Jenkins自动发送邮件配置及定时构建 Jenkins构建失败自动发邮件的配置,主要有以下三步: 1.安装插件 2.系统配置里配置发邮件的邮箱,并测试 3.在任务里配置构建后发邮箱的步骤 本文 ...

最新文章

  1. linux shell awk 单引号分割
  2. 与40mhz信道不兼容设置_为什么面包板不适合高频电路
  3. 静止一秒_生命静止前的那一秒,我们并不是无能为力...
  4. linux多进程介绍和示例
  5. 再也不用担心网吧开黑队友听不清了!降噪解决方案了解一下?
  6. 低代码已至,传统开发方式是否还有必要?
  7. TPLINK-WR720N刷openwrt
  8. Atitit。sql2016标准化的规划方案 v3 q2a
  9. win10 电脑开机底部任务栏无反应(鼠标一直转圈,部分图标不显示)
  10. 训练GAN,你应该知道的二三事
  11. amoeba mysql mmm_MMM+Amoeba搭建MySQL高可用负载均衡群集
  12. 帆软报表 异常汇总及方案.
  13. 关于cos(x^2)的傅里叶逆变换(Inverse Fourier Transform)
  14. 向上取整⌈⌉和向下取整⌊⌋符号
  15. Android热修复之Tinker集成最新详解
  16. 首发速学——腾讯云数据库TDSQL(PostgreSQL版)训练营正式开营
  17. 好玩的横版射击游戏介绍:Broforce武装原型 for mac
  18. 较为详细的记录总结TensorRT的python接口的使用,环境配置,模型转换和静态动态模型推理
  19. zzuli OJ 1086: ASCII码排序(多实例测试)
  20. 用计算机图形画一个杯子的代码,六年级LOGO小海龟编程教程.doc

热门文章

  1. 小学计算机组成的说课PPT,小学信息技术说课课件
  2. c语言遇到非法字符,98行的四则计算器.(支持括号)加入了非法字符的检测
  3. exe4j 报错 找不到class
  4. 农用地包括哪些地类_征用土地公告应当包括哪些内容?|楹庭拆迁律师
  5. 豆瓣9分以上,这7本Java经典名著,你还缺哪本?
  6. 新冠疫苗厂商科兴成立房地产公司?网友:准备打疫苗送房子了?
  7. Java字符串拼接的五种方法,哪种性能最好?
  8. 以为Swing没人用了,原来群友们都是如此优秀!
  9. 「图解」ThreadLocal 在并发问题中的应用
  10. Java枚举原来还能这么用