Python3实现向指定邮箱发送邮件!听说这波操作能赚三万?

Python给指定邮箱发送邮件 邮箱设置: 这里我们选择使用QQ邮箱,进行相关设置: step1: step2: step3: 开启第一项的过程中,这里会出现发短信获取授权码的步骤,这里的授权码需要复制粘贴到后续代码的settings中的后面用户邮箱信息填写的地方 PY文件代码: 1.settings部分需要修改的地方: django中settings后的追加部分(此部分用于说明邮箱的相关用户信息): 2.views部... 阅读详情

Background

最近业务需求需要把生成的月报定时发送到指定邮箱,直接在网上找了相关经验改巴改巴给实现了,测试可以直接使用,生产是我从MySQL数据库获取文件信息和邮箱等使用的,程序中的注释相当清楚了。定时是通过shell脚本实现的。

获取邮件服务器和授权码

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

 

 

 

 

 

源码

from datetime import datetime
from pymysql import connect
import smtplib
from email.header import Header
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart


# 【mysql 基本信息】
class MysqlUtil:
    # 定义基本属性【测试】
    host = '110.110.110.110'
    username = 'wlf'
    password = 'wlf'
    database = 'wlf'
    charset = 'utf8'

    # 定义基本属性【生产】
    # host = '192.168.110.110'
    # username = 'wlf'
    # password = 'wlf'
    # database = 'wlf'
    # charset = 'utf8'

    # 定义构造方法
    def __init__(self):
        self.connection = None
        self.cursor = None
        # 初始化 MySQL 连接配置
        try:
            self.connection = connect(host=self.host, user=self.username, password=self.password,
                                      database=self.database, charset=self.charset)
            self.cursor = self.connection.cursor()
        except():
            print("mysql connect failed, please check the config")

    # 获取所有需要发送月报的项目以及对应的邮箱,返回字典结构,key为项目id,value为list,存储邮箱
    def get_projects_with_emails(self):
        table = 'cft_report_email'
        pid_email_dict = {}
        sql_projects = "SELECT `project_id`, `email` FROM %s" % table
        self.cursor.execute(sql_projects)
        res_pid_email = self.cursor.fetchall()
        for pe in res_pid_email:
            pid = pe[0]
            email = pe[1]
            if pid in pid_email_dict:
                pid_email_dict[pid].append(email)
            else:
                email_list = [email]
                pid_email_dict[pid] = email_list
        return pid_email_dict

    # 根据项目id和月报时间获取月报路径
    def get_filepath(self, pid):
        table = 'report_month'
        last_month_date = get_last_month_date()
        sql = "SELECT `path` FROM %s WHERE project_id = '%s' AND `report_date` = '%s'" % (table, pid, last_month_date)
        self.cursor.execute(sql)
        res_path = self.cursor.fetchone()[0]
        return res_path


# 获取上月日期 年份和月份 例子:2020年10月
def get_last_month_date():
    now_month = datetime.now()
    year = now_month.year
    month = now_month.month
    if month == 1:
        month = 12
        year -= 1
    else:
        month -= 1
    return str(year) + "年" + str(month) + "月"


# 向指定邮箱发送文件
def send_email(file, emails):
    """
    发送邮件的脚本,在邮件中可添加text文本,图片和附件
    :return:
    """
    # 设置服务器(这里是163的服务器,这里需要用户名和密码,host网上查对应的smtp服务器)
    mail_host = "smtp.163.com"
    mail_user = "yunluwlf@163.com"
    # 密码(这里的密码不是登录邮箱密码,而是授权码)
    mail_auth_code = "IXMHKCCISDRJGVJW"
    # 邮件发送和接收人
    sender = mail_user
    reciever = emails
    # 邮件头信息
    message = MIMEMultipart('related')
    message['From'] = sender
    message['To'] = ','.join(reciever)
    message['Subject'] = Header('数据简报【输电铁塔】')
    # ③图片 形式的内容添加到邮件(包含在②中,否咋上传的是图片附件)
    # fp = open(r'D:/wkspc/pycharm-wkspc/wind_rose/imgs/2020-10/ybj/wind-rose.jpg', 'rb')
    # content_image = MIMEImage(fp.read())
    # fp.close()
    # content_image.add_header('content-disposition', 'attachment', filename='wind-rose.jpg')
    # message.attach(content_image)
    # ④ 附件 形式的内容添加到邮件
    attach_table = MIMEApplication(open(file, 'rb').read())
    attach_table.add_header('content-disposition', 'attachment', filename=get_file_name(file))
    # 这样的话,附件名称就可以是中文的了,不会出现乱码
    attach_table.set_charset('utf-8')
    message.attach(attach_table)
    # 发送邮件,测试成功,流程都是固定的:创建客户端,登陆,发送,关闭
    try:
        # 实例化
        smtpObj = smtplib.SMTP()
        # 25为 SMTP 端口号
        smtpObj.connect(mail_host, 25)
        smtpObj.login(mail_user, mail_auth_code)
        print('登录成功!')
        smtpObj.sendmail(mail_user, reciever, message.as_string())
        smtpObj.quit()
        print("恭喜:邮件发送成功!")
    except smtplib.SMTPException:
        print("错误:邮件发送失败!")


# 根据文件路径获取文件名
def get_file_name(file_path):
    splits = file_path.split("/")
    return splits[len(splits) - 1]


if __name__ == '__main__':
    # 【测试】
    file_send = 'docs/results/2020年10月/羊八井测点2020年10月风场实测数据简报.docx'
    emails_to_send = ['1147314023@qq.com', 'longfei.wang@cloudansys.com']
    send_email(file_send, emails_to_send)

    # 【生产】
    # 获取MySQL工具类对象
    # mysql_util = MysqlUtil()
    # # 获取所有需要发送月报的项目id以及对应的邮箱
    # dict_pid_with_email = mysql_util.get_projects_with_emails()
    # # 获取所有需要发送月报的项目id
    # dict_keys = dict_pid_with_email.keys()
    # for project_id in dict_keys:
    #     # 根据项目id获取获取发送的月报路径
    #     the_filepath = mysql_util.get_filepath(project_id)
    #     # 获取项目id对应的邮箱
    #     the_email_list = dict_pid_with_email[project_id]
    #     # 向对应的邮箱发送邮件
    #     send_email(the_filepath, the_email_list)

效果

 

 

 

 

 

注意

经测试:支持网易邮箱和qq邮箱;不支持搜狐邮箱。
ps:其实搜狐邮箱也能发送成功,但是发过去的时候文件不知怎么被改名改后缀了,变成了`投递状态.txt`,当然,如果手动把txt改成docx还是可以打开文件的,内容也没变。
12

 

AI Orchestration实战:MuleSoft+LangChain构建企业级智能交响体系 AI Orchestration(AI编排)是一种面向企业复杂系统的智能协同范式,其核心在于解耦数据集成与语义推理——前者由MuleSoft等企业服务总线完成协议适配、数据聚合与合规封装,后者依托LangChain实现意图理解、工具调度与动态逻辑编织。该架构显著提升AI应用的可解释性、可审计性与业务对齐度,广泛应用于销售智能助手、客户流失预警、跨系统工单分析等高价值场景。本文基于真实产线案例,详解如何利用MuleSoft处理SAP RFC/IDoc/SOQL等异构协议,并通过LangChain工具调用(To 阅读详情

相关推荐

Anthropic Managed Agents:Agent 运行时的OS级工程实践

Agent 运行时(Agent Runtime)是大模型应用落地的核心基础设施层,其本质是为LLM驱动的自主代理提供状态管理、工具调度、凭证隔离与执行追溯能力。它并非新概念,而是对传统服务运行时(如容器/VM)在AI语境下的范式演进——强调原子性、可观测性与安全边界。随着AWS Bedrock AgentCore、Google Vertex AI Agent Builder等云原生方案成熟,Runtime正加速标准化与免费化;而Anthropic Managed Agents的价值,在于以生产级工程实现,首

fanjava 535

Python3 发送各种类型的邮件

引言 好久没发文章了,主要是这段时间太忙了~;另外菜菜有了一个属于自己的博客小站,优快云好久没写过文章了,

qq_42353939的博客 772

Mythos安全大模型:静态分析驱动的漏洞发现新范式

大模型在网络安全领域的应用正从基础代码生成迈向深度漏洞挖掘。Mythos代表了一种新型AI安全能力——它不依赖传统符号执行或动态污点追踪,而是通过语义级静态分析重构控制流与数据流,实现对陈旧漏洞(如CVE-2026-4747)的精准定位。其技术价值在于将渗透测试专家经验编码为可复用的推理链,在SWE-bench Pro等真实工程场景中达成77.8%的全流程修复成功率。典型应用场景覆盖金融网关JNDI注入分析、开源组件0day挖掘及企业级自动化补丁闭环。该能力跃迁标志着AI安全正从‘辅助工具’转向‘自主攻防主

dezhen7015的博客 499

Python3实现向指定邮箱发送邮件(支持附件文件、图片等)

Background 最近业务需求需要把生成的月报定时发送到指定邮箱,直接在网上找了相关经验改巴改巴给实现了,测试可以直接使用,生产是我从MySQL数据库获取文件信息和邮箱等使用的,程序中的注释相当清楚了。定时是通过shell脚本实现的。 源码 from datetime import datetime from pymysql import connect import smtplib from email.header import Header from email.mime.applicatio

on the way . . . 4129

小公司AI落地三件套:API+低代码+开源模型实战指南

在AI应用层,工程化能力已超越算法创新成为核心竞争力。所谓AI落地,并非必须自研大模型,而是理解基础能力封装(API)、系统集成范式(低代码/无代码)与可控执行载体(轻量开源模型)三者的协同逻辑。API提供即用型智能能力,解决‘有没有’问题;低代码平台如n8n、Dify降低流程编排门槛,实现业务逻辑快速闭环;而Qwen2-7B等轻量开源模型则保障数据主权、成本可控与故障降级能力。这种组合特别适用于销售线索分发、智能客服、合同审查等中小团队高频场景,让技术真正服务于需求验证、价值交付与敏捷迭代。

cuml0912的博客 402

Python发邮件源码

发邮件代码,Python,亲测可用。用pycharm写,直接更改发件人邮箱、密码,和收件人邮箱即可

Python40行代码发送邮件到指定邮箱

Python 40行代码搞定邮件发送(QQ邮箱为例) 1:获取QQ邮箱授权码 进入QQ邮箱找到如下位置,点击生成授权码,生成后复制出来备用 2:CV改改完事 # coding:utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header class Mail: def __init__(self): # 第三方 SMTP 服务 self.mai

qq_41633604的博客 1918

Python读取指定日期邮件的实例

今天小编就为大家分享一篇Python读取指定日期邮件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Python读取本地文档内容并发送邮件

当需要将本地某个路径下的文档内容读取后并作为邮件正文发送的时候可以参考该文,使用到的模块包括smtplib,email。 #! /usr/bin/env python3 # -*- coding:utf-8 -*- # Author: Tdcqma import smtplib,email chst = email.charset.Charset(input_cha...

dieman0446的博客 784

便携式水下动态实时视频色彩还原设备,一键快速实现对水下偏色视频和图像的色彩还原处理

便携式水下动态实时视频色彩还原,一键快速对水下图像进行色彩校正,清晰度提升和亮度均衡处理,为水下资源勘探和科学考古,海洋生态环境监测,水下机器作业等应用提供有力的协助

weixin_43518680的博客 633

Zynq7000双核裸机开发实战:如何安全实现共享内存与乒乓RAM设计

本文深入探讨了Zynq7000双核裸机开发中的共享内存与乒乓RAM设计,重点解析了核间通信的Cache一致性处理机制和硬件级实现方案。通过实战代码示例和性能优化技巧,帮助开发者解决双核运行中的访问冲突问题,提升嵌入式系统开发效率。

weixin_29191669的博客 375

每次记歌词——使用Python自动发邮件提醒你记歌词

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤八骏日行三万里,穆王何事不重来。大家好,我是Python进阶者。前言前几天在Python交流群里边,【冫马讠成】大佬分享了一个有趣的代码,用于定时发送歌词到邮箱,觉得挺有意思,这里拿出来给大家分享。实现思路实现思路倒是不难,其一是Python网络爬虫,将网页上...

pdcfighting的博客 309

操作系统期末大题类型题解

额,OS主要这回考程序分析题,PV操作、生产者消费者啊,哲学家进餐问题,死锁问题啊,如何避免死锁,经典银行家算法,页面置换算法啥的,磁盘调度......总计还有很多,就不一一说了 PV操作 谈到PV操作,首先要了解什么是信号量,其实就是用来解决互斥与同步问题的,分为原语wait(S)和signal(S),也就是我们常说的PV操作,在这里给出王道上的概念 wait(S){ while(S>0) S=S-1; } signal(S){ S=S+1; } 记录型信号量

ZXxxiaoxuan的博客 792

火了!GitHub标星三万,Python抢票神器

点击 机器学习算法与Python学习 ,选择加星标精彩内容不迷路大数据文摘出品作者:曹培信、池俊辉盼望着,盼望着,春节的脚步近了,然而,每年到这个时候,最难的,莫过于一张回家的火车票。据...

机器学习算法与Python学习 1096

从原理图到PCB:基于Allegro的8槽PXIe背板高速设计实战

本文详细介绍了基于Allegro软件进行8槽PXIe背板高速设计的完整实战流程。从理解规范、原理图设计、PCB布局规划,到高速PCIe差分对与精密时钟的布线艺术,再到电源与地处理以及最终的设计验证与生产文件输出,系统性地阐述了确保背板信号完整性、电源完整性和系统稳定性的关键技术与工程实践。

weixin_28312391的博客 203

SDIO_WiFi驱动学习之SDIO架构介绍及源码分析

一、引言 因为WiFi驱动比较复杂,所以WiFi驱动的博客将分为两篇来写。 本篇博客主要介绍Linux下的SDIO架构及源码分析。 二、SDIO WiFi SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户主平台数据通过SDIO口到无线网络之间的转换。SDIO具有传输数据快,兼容SD、MMC接口等特点。 对于SDIO接口的WiFi,首先,它是一个SDIO的卡设备,然后具备了WiFi的功能。所

陈子陌的博客 1万+

模板驱动型文档自动化:从Word填空到工程化流水线

文档自动化是企业实现标准化、合规化与规模化内容交付的基础能力。其核心在于将文档解耦为数据、结构与表现三层,通过可版本控制、可审计、可复用的模板引擎替代人工编辑或不可控的AI生成。相比传统邮件合并,它支持条件逻辑、API实时数据、多格式输出与细粒度权限管理;在金融、法律、教育、SaaS等强规范场景中,能显著降低错误率、固化业务逻辑、保障品牌一致性,并支撑电子签章、CRM/ERP集成等端到端流程闭环。本文以Sqribble实践为例,详解模板即代码、动态分页、本地化渲染、字体嵌入与合规校验等关键工程落地要点。

weixin_33912453的博客 419

智能硬件产品 App 全球发布 第 1 章:全球 App 发布战略设计

本章阐述智能硬件 App 全球发布战略,涵盖市场分析、竞争格局、用户画像及资源配置。通过制定可执行的全球化推广路径,整合地区法规合规、渠道分发策略与营销活动设计,助力团队快速进入主流商店并确立品牌影响力。同时构建可量化的 KPI 监控体系,指导项目进度追踪与效果复盘,确保产品迭代持续优化,降低运营总成本。

moton2017的博客 156

重生之我获得了黑客系统

显示器突然发出刺耳的电流声时,陈凡正叼着泡面叉子改代码。淡蓝色的 Windows 弹窗凭空出现在 IDE 界面中央,边框泛着诡异的荧光。他下意识去点右上角的叉号,光标却像被磁石吸住般钉在原地。【检测到宿主强烈悔恨情绪,符合绑定条件】【网络安全守护系统启动中…10%…70%…】【绑定成功。新手任务发布:修复当前服务器的 3 个高危漏洞,时限 1 小时。失败惩罚:体验比特币钱包被洗劫的真实痛感】陈凡的泡面 “啪嗒” 掉在键盘上。这个弹窗样式,这个任务描述,和他临死前看到的最后画面一模一样。

2401_86065041的博客 1049

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码)

本文详细介绍了一个基于YOLOv5/v6/v7/v8的体育赛事目标检测系统的设计与实现。系统采用先进的深度学习算法,结合PySide6图形界面,实现了对体育赛事中运动员、球类、裁判等多种目标的实时检测与跟踪。本文将全面阐述系统的架构设计、算法原理、训练流程、界面实现以及实际应用效果,并提供完整的代码实现。

YOLO 509

(王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

注意:本节内容和《计算机组成原理》“存储器”那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度。因此如果没有学习过这部分的同学,强烈建议先看这一部分 王道计算机组成原理笔记 本文主要会涉及以下必要的内存知识 文章目录一:内存及其作用 一:内存及其作用 内存:内存又称之为主存。是一种硬件设备,作为CPU和硬盘的缓冲区,用于解决其速度不匹配的问题,提高整机性能。程序执行前需要放入内存才能运行 ...

快乐江湖的博客 2791

最全总结!聊聊 Python 发送邮件的几种方式

我们都知道 Python 内置了对 SMTP 的支持,可以发送纯文本、富文本、HTML 等格式的邮件

DEVELOPERAA的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python发送邮件

python脚本发送邮件

qq_26800889的博客 1367

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: Python3实现向指定邮箱发送邮件!听说这波操作能赚三万?
下一篇: 卧槽!童年的这几十个游戏,Python 一行代码就能玩
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值