首页 > 其他分享 >接单日记(二)SMTP发送邮件

接单日记(二)SMTP发送邮件

时间:2023-04-27 18:01:33浏览次数:53  
标签:username __ SMTP smtp 发送 接单 邮件

目录

接单日记(二)SMTP发送邮件

此为一个实验报告,故遵守实验报告的格式。

一、 实验目的

  1. 熟悉SMTP发送邮件的原理
  2. 使用SMTP实现自动化发送邮件的功能
  3. 熟练在实际场景中使用装饰器,提高代码的封装性
  4. 理解__name__在程序的作用

二、 实验内容

在QQ邮箱获取smtp服务器密钥,完成自动发送邮件的程序,要求:需要用到装饰器来进行smtp服务器的登录。

三、 程序及结果

1、 运行程序

from smtplib import SMTP
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
from functools import wraps

receivers = ['[email protected]', ]
subject = '测试邮件'


def decorate(fun_):
    username = '?'
    password_pass = '?'
    smtp = SMTP('smtp.qq.com')
    smtp.login(username, password_pass)

    @wraps(fun_)
    def func_mail(*args, **kwargs):
        fun_(smtp, username, *args, **kwargs)
        smtp.quit()
        smtp.close()

    return func_mail


@decorate
def mail(smtp, username):
    for receiver_ in receivers:
        content = "这是一个测试邮件,不要回复哦~~~"
        msgRoot = MIMEText(content, "html",
                           "utf-8")
        msgRoot["Subject"] = Header(subject, "utf-8")
        msgRoot['From'] = formataddr(("test", username))
        msgRoot['To'] = formataddr((receiver_.split("@")[0], receiver_))
        smtp.sendmail(username, receiver_, msgRoot.as_string())
        print(receiver_, f':发送完成, 发送内容为:{content}')


if __name__ == '__main__':
    mail()

2、 运行结果

参考文章:https://www.cnblogs.com/liuzhongkun/p/16263523.html

标签:username,__,SMTP,smtp,发送,接单,邮件
From: https://www.cnblogs.com/liuzhongkun/p/17359826.html

相关文章

  • 接单日记(一):理解浮点数运算的误差
    目录接单日记(一):理解浮点数运算的误差一、实验目的二、实验内容三、程序及结果接单日记(一):理解浮点数运算的误差此为一个实验报告,故遵守实验报告的格式。一、实验目的理解python中的浮点数计算存在的一个误差问题理解这种误差对程序带来的危害理解如何解决程序产生的误差......
  • 设计模式-原型模式-Java中使用示例-节日发送邮件活动
    场景设计模式-原型模式-浅克隆和深克隆在Java中的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127576328上面初步记录了原型模式的使用示例,下面再记录一个银行节假日或者搞活动时发送邮件的例子。原型模式原型模式(PrototypePattern)的简单程度仅次......
  • python发邮件|4-20
    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。首先,我们来构造一个最简单的纯文本邮件:fromemail.mime.textimportMIMETextmsg=MIMEText('hello......
  • 每次记歌词——使用Python自动发邮件提醒你记歌词
    今日鸡汤八骏日行三万里,穆王何事不重来。大家好,我是Python进阶者。前言前几天在Python交流群里边,【冫马讠成】大佬分享了一个有趣的代码,用于定时发送歌词到邮箱,觉得挺有意思,这里拿出来给大家分享。实现思路实现思路倒是不难,其一是Python网络爬虫,将网页上的歌词信息抓取到,然后存起......
  • 邮箱伪造之搭建匿名SMTP服务器
      电子邮件欺骗(emailspoofing)的根本原因是SMTP协议是不需要身份验证的,攻击者可以利用这个特性伪造电子邮件头,从任意电子邮件地址发送任何人,导致信息看起来来源于某个人或某个地方,而实际却不是真实的源地址。   如果要实现邮箱伪造发件人地址,首先,我们需要一个可以用来发送......
  • 这个英文语法校正插件很赞!可以校正邮件,也可以校正论文
    英语写作必不可少,常由于写得快、缺少检查、语法不甚熟悉,总是会出一些问题。总是求人帮助修改也不是办法,老被导师挑出错误也不像话。这里推荐一款软件Grammarly(https://app.grammarly.com/),可在线使用、做为独立软件安装到本地、做为Office的插件、火狐的插件。用于校正文档时是这......
  • node.js使用Nodemailer发送邮件
    引言--常常看到一些网站有邮箱获取验证码验证注册或者修改密码等,今天也来了解一下在nodejs+express怎么发送电子邮件。使用模块Nodemailer。这里以qq邮箱举例子。安装模块--npminstallNodemailer--save创建一个SMTP客户端配置--//引入模块nodemailerconstnodemai......
  • 全终端办公电子邮件集成方案
    面临挑战应用场景复杂,经常需要在不同终端进行切换,多屏、跨屏及移动办公要求高;业务系统较多,需要同时支持多种业务的开展,对第三方应用集成及协同办公要求高;对邮件系统的稳定及高效性要求高,自动化运维需求强烈;对邮件系统的安全性及数据多副本存储要求高。方案优势ZohoMail中大型企业......
  • 群晖DSM920配置邮件服务
    1163邮箱设置  2生成授权码  3群晖设置邮件服务 ......
  • 如何用一个邮箱接收其他邮箱的邮件
    假设你有163邮箱、QQ邮箱、Gmail邮箱等等,你想使用一个邮箱就可以接收其他邮箱的邮件(比如QQ邮箱),这样可以不用频繁登录各个邮箱来查看邮件1主邮箱(163)添加其他邮箱  2以QQ邮箱为例进行设置  3登录QQ邮箱设置    4回到163邮箱,填写授权码,点击一键迁移 5在邮......