武汉加油,防疫信息邮件实时接收

一: 前言
上一篇邮件主要是如何应对网上购买口罩通知到货不及时问题,详细请访问https://blog.csdn.net/muchong123/article/details/104146635
本篇主要重点总结下如何通过使用python库模块发送邮件(qq邮件,@163邮件等)

二:直接上代码

# smtplib 用于邮件的发信动作
import smtplib
# email 用于构建邮件内容
from email.mime.text import MIMEText
# 用于构建邮件头
from email.header import Header
#用于构建附件
from email.mime.multipart import MIMEMultipart 

#用于构建图片
from email.mime.image import MIMEImage

class Mail:
    '定义一个邮箱类'
    #初始化发送方,接收方的邮箱信息
    def __init__(self, MailServer, MailPort, FromMail, Authentication, ToMail):
        self.mailserver = MailServer
        self.mailport = MailPort
        self.frommail = FromMail
        self.password = Authentication
        self.tomail = ToMail
    
    def make_mail(self, head, content):
        Msgs = content
        Msgs['From'] = Header(self.frommail)
        Msgs['To'] = Header(self.tomail)
        Msgs['Subject'] = Header(head)
        return Msgs
    
    def send_mail(self, msgs):
            print("开启邮件服务")
            server = smtplib.SMTP_SSL(host=self.mailserver)           # 开启发信服务,这里使用的是加密传输
            #print("连接服务器")
            server.connect(host=self.mailserver, port=self.mailport)
            #print("登录服务器")
            server.login(self.frommail, self.password)
            #print("发送邮件")
            server.sendmail(self.frommail, self.tomail, msgs.as_string())
            print("发送邮件成功")
            server.quit()                                                                         # 关闭服务器

#构建普通文本内容的邮件          
def build_text(msg, types):
    mail_msg = MIMEText(msg, types, 'utf-8')
    return mail_msg

#构建内容带网页链接的邮件
def build_html(types):
    htmls = """
    <p>发送html链接邮件</p>
    <p><a href="https://blog.csdn.net/muchong123">欢迎访问我的博客主页!</a></p>
    """
    mail_msg = MIMEText(htmls, types, 'utf-8')
    return mail_msg

#构建内容带附件的邮件
def build_enclosure(types):
    mail_msg = MIMEMultipart()
    #构建邮件发送信息来源及目的
    #构建邮件正文内容
    mail_msg.attach(MIMEText('附件发送测试', types, 'utf-8'))
    # 构造附件1,传送当前目录下的 test.txt 文件
    att1 = MIMEText(open(r'C:\Users\Administrator\Desktop\test.txt', 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
    att1["Content-Disposition"] = 'attachment; filename="test.txt"'
    mail_msg.attach(att1)
    return mail_msg

#构建html文本中带图片的邮件
def build_html_img(types):
    msgRoot = MIMEMultipart('related')
    msgAlternative = MIMEMultipart('alternative')
    msgRoot.attach(msgAlternative)
    mail_msg = """
    <p>html+img链接邮件测试</p>
    <p><a href="https://blog.csdn.net/muchong123">欢迎访问博客主页~~</a></p>
    <p><img src="cid:image1"></p>
    """
    msgAlternative.attach(MIMEText(mail_msg, types, 'utf-8'))
    # 指定图片为当前目录
    fp = open(r'C:\Users\Administrator\Desktop\wuhan2020.jpg', 'rb')
    msgImage = MIMEImage(fp.read())
    fp.close()
    # 定义图片 ID,在 HTML 文本中引用
    msgImage.add_header('Content-ID', '<image1>')
    msgRoot.attach(msgImage)
    return msgRoot
    
if __name__ == "__main__":
    try:
        #content = build_text('plain')
        #content = build_html('plain')
        #content = build_enclosure('plain')
        content = build_html_img('html')
        header = '发送邮件测试'
        #print(content)
        mail = Mail('smtp.qq.com', 465, '13501065xx@qq.com', 'zndzkclqgpobjfid', 'm1581xx87918@163.com')
        print("构建邮件内容")
        msgs = mail.make_mail(header, content)
        print("发送邮件")
        mail.send_mail(msgs)
        print("邮件发送成功")
    except Exception as e:
        print("异常!!!")

这里只需要修改邮箱地址和授权码为您的即可,如果需要发送其它内容只需要改写或者重写邮件构建函数

运行结果如下:

  1. 发送文本内容
    在这里插入图片描述
    2.发送带html链接邮件
    在这里插入图片描述
    3.发送带附件邮件
    在这里插入图片描述
    4.发送html链接+图片邮件
    在这里插入图片描述
    本篇文章到此介绍完如何通过python库模块接口发送邮件的代码实现,希望对你们有帮助,谢谢!如果有不正确或者需要补充的地方,欢迎评论区留言!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
尊敬的评委老师们,大家好。我是XXX,今天我来向大家介绍我的毕业设计——社区公寓防疫信息管理系统网站。 随着新冠疫情的爆发,防疫工作已经成为了全社会的共同责任。在这个过程中,社区公寓是防疫工作的重要一环。因此,我设计了这个社区公寓防疫信息管理系统网站,旨在提高社区公寓防疫工作的效率和准确性。 首先,让我们来看看这个网站的主要功能模块: 1. 用户登录和注册模块:用户可以通过注册和登录来使用系统的各项功能。 2. 信息录入模块:管理员可以在系统中录入社区公寓的基本信息、住户信息、员工信息等。 3. 信息查询模块:用户可以通过系统查询社区公寓的各种信息,包括住户信息、员工信息、设备信息等。 4. 防疫管理模块:管理员可以通过系统实时监测社区公寓的防疫情况,包括住户体温信息、员工健康状况等,并及时采取相应的措施。 5. 数据统计模块:系统可以对社区公寓的防疫数据进行统计分析,为决策提供参考依据。 6. 信息通知模块:系统可以向用户发送各种信息通知,包括紧急通知、日常通知等。 接下来,让我们来看一下这个网站的技术实现: 1. 前端技术:我使用了Vue.js作为前端框架,实现了网站的界面设计和交互逻辑。 2. 后端技术:我使用了Spring Boot作为后端框架,实现了网站的业务逻辑和数据交互。 3. 数据库技术:我使用了MySQL作为网站的数据库,实现了数据的存储和查询。 4. 部署技术:我使用了Docker将网站打包成容器,实现了网站的快速部署和运行。 最后,让我们来看一下这个网站的优势和应用前景: 1. 优势:这个网站可以提高社区公寓防疫工作的效率和准确性,为社区公寓管理提供更加科学、便捷、快速的解决方案。 2. 应用前景:这个网站可以广泛应用于各种社区公寓管理场景,包括大型住宅小区、商业写字楼等。 综上所述,我的毕业设计——社区公寓防疫信息管理系统网站,是一个将技术与服务相结合的项目,旨在为社区公寓管理提供更加科学、便捷、快速的解决方案。感谢评委老师们的聆听。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值