用Excel和OutLook实现自动批量发邮件

article/2025/10/4 21:39:40

转自:https://zhuanlan.zhihu.com/p/25283201

作者:闲者秋山

闲者秋山
闲者秋山

相信不少人的工作中都有这样的情况,需要群发通知邮件的情况。

(比如财务付完款,要通知供应商,房东之类的)

但如果要发的邮件的收件人

要求的附件和邮件正文都不一样,

且收件人数量极多,那这个工作量就很大。

虽然很多公司可以引进软件解决这问题,

但更多的公司是不舍得花这个钱的。

这里介绍一个仅靠Office就可以实现的方法
我会尽量备注注释来解释代码的意思,

但如果还是看不懂,

请大家先自己进行一些VBA基础知识的学习。

先按照上图,用Excel做一个表格。

名为sheet1

然后alt+f11,呼出vba编辑器,insert ,选择module,复制以下代码。

Sub sendBatchMail()t = Timer   '计时器开始Dim rowCount, endRowNo
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
Dim sendIndexendRowNo = ThisWorkbook.Sheets("Sheet1").[a65535].End(xlUp).Row'取sheet1的最后一行是多少行Set objOutlook = New Outlook.ApplicationThisWorkbook.Sheets("sheet1").SelectFor rowCount = 2 To endRowNo '循环从第二行运行到最后一行Set objMail = objOutlook.CreateItem(olMailItem)subjectname = ThisWorkbook.Sheets("sheet1").Range("b" & rowCount) '赋值邮件名bodyname = ThisWorkbook.Sheets("sheet1").Range("c" & rowCount) '赋值邮件正文attach_address = ThisWorkbook.Sheets("sheet1").Range("d" & rowCount)
'赋值附件所在的地址链接With objMail
.To = Cells(rowCount, 1) 
.Attachments.Add attach_address
.Body = bodyname 
.Subject = subjectname
.sendIndex = rowCount Mod objOutlook.Session.Accounts.Count + 1 
'要发的邮件分到服务器上
.SendUsingAccount = objOutlook.Session.Accounts.Item(sendIndex)
.Send
End With
Set objMail = Nothing
Application.Wait (Now + TimeValue("0:00:15"))'发完一封邮件等15秒左右,觉得时间太久可以自己调整
Next
MsgBox "Done!" & Chr(10) & "Run time is " & Timer - t & "seconds"'结束后,显示计时器结果
End Sub

当然这是一个我已经简化后的模型。

当你稍微了解一些代码结构后,你完全可以自己修改一下代码,

重新设计符合自己公司格式要求的程序。

下图是我设计的简单的模板,按钮可以去设定中,quick access toolbar(快速工具栏)中

找到insert controls(插入控件),然后就可以插入按钮了。

按钮放置后可以直接连接宏(assign macro),然后以后点击即可运行。

(此方法适合发文字不多的通知,比如我司已于近日支付贵公司XX金额,请注意查收。 但不适合发长信。)


本文主要是提供思路,
知乎是分享知识的平台,不是提供成品的地方,
伸手党的私信我真没工夫回……

http://chatgpt.dhexx.cn/article/LpnhSj0u.shtml

相关文章

JAVA实现自动发送邮件

JAVA实现发送邮件 做项目时用到的小工具 做个备份&#xff08; tips: 需要导入javax.mail 我使用了maven导入X <!-- JavaMail相关依赖 --><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><ver…

自动发送

自动发送 主要用于普通邮箱&#xff08;个人邮箱/企业邮箱&#xff09;群发&#xff0c;用户使用“群发单显”或“精准分发”生成邮件在“待发邮件”邮件夹中&#xff0c;开启自动发送&#xff0c;可按照设定的时间和速度进行邮件的自动发送。 最新功能&#xff08;版本&#x…

python---自动群发邮件

生活中我们经常发送邮件&#xff0c;那么我们能不能用Python写一个自动发送邮件的功能呢&#xff1f;答案是肯定的&#xff01;&#xff01;&#xff01; 开始实现功能之前我们需要开启我们邮箱的 IMAP/SMTP功能&#xff0c;我们先了解一下什么是IMAP/SMTP。 SMTP 的全称是“…

Python之邮箱自动发件

在使用python给好友发送邮件时&#xff0c;首先需要下载python中在对模块&#xff0c;以及打开邮箱IMAP/SMTP服务。接下来一步一步介绍读者如何来使用并实现发件。 1.下载python中在对模块 首先键盘点击winR键&#xff0c;输入pip search smtplib便可以看到smtplib模块下含有…

使用Python自动发送邮件

发送普通邮件 SMTP&#xff08;Simple Mail Transfer Protocol&#xff09;是简单传输协议。 python中对SMTP进行了简单的封装&#xff0c;可以发送纯文本邮件、HTML 邮件以及带附件的邮件。两个核心模块如下&#xff1a; email模块&#xff1a;负责构建邮件 smtplib模块&am…

通过SMTP协议自动发送邮件

通过SMTP协议实现训练结束自动发送邮件 为了更安心地摸鱼&#xff0c;想让大模型训练完之后自己发邮件给我。 开启SMTP服务与取得授权码 1.打开设置->账户->打开服务 然后会获得授权码 代码示例 #!/usr/bin/python\# -*- coding: utf-8 -*-import smtplib from e…

Java实现邮件自动发送

有时候我们会遇到自动发送邮件通知、邮件验证码、节假日祝福邮件发送、邮件自动发送广告功能&#xff0c;今天我们就谈谈邮件自动发送是怎么实现的。案例使用Java语言来编写&#xff0c;使用springBoot来搭建项目。 步骤一&#xff1a;添加邮件依赖&#xff1a;spring-boot-st…

sql自动发邮件功能

用SQL自动发邮件需要三步 1&#xff0c;做一个配置文件 2&#xff0c;调用存储过程msdb.dbo.sp_send_dbmail 3, 创建作业 1&#xff0c; 右键->【配置数据库邮件】 配置好了之后可以测试能否发送邮件 进去邮箱查看是否收到邮件或者数据库查询 select * from msdb.dbo.sys…

自动定时发送邮件的方法 —— 定时执行专家V6.8

目录 ▉ 定时发送简单邮件 ◆前提条件 ◆实现思路 ◆设置方法 ▉ 定时执行专家简介 ◆最新版下载链接 ◆2023-03-21 V6.8 - 更新日志 ▉ 定时发送简单邮件 ◆前提条件 - 电脑安装邮件客户端&#xff0c;使用这个邮件客户端&#xff0c;发送简单邮件。 ◆实现思路 组…

自动化发送邮件

自动化发送邮件 自动化发送邮件 背景SMTP了解一下邮件系统实现过程 1.连接建立2.邮件传输3.连接释放4.注意项目 信息格式MIME新增关键字multipart自动发邮件 构建过程 封装代码必要的设置 背景 室友选修的《机器学习》&#xff0c;结课作业是对8万的数据进行分析。他向我抱怨…

利用Python自动发送邮件

自动发送邮件 我们把报表做出来以后一般都是需要发给别人查看&#xff0c;对于一些每天需要发的报表或者是需要一次发送多份的报表&#xff0c;这个时候可以考虑借助Python来自动发送邮件。 使用邮箱的第一步 一般我们在使用QQ邮箱、163邮箱、126邮箱等这些比较常用的邮箱时…

Java实现发送邮件(定时自动发送邮件)

系列文章目录 Redis缓存穿透、击穿、雪崩问题及解决方法Spring Cache的使用–快速上手篇分页查询–Java项目实战篇全局异常处理–Java实战项目篇 该系列文章持续更新&#xff0c;更多的文章请点击我的主页查看哦&#xff01; 文章目录 目录 系列文章目录 文章目录 前言 一…

使用Excel和OutLook实现自动发送邮件

参考我的资源: https://download.csdn.net/download/paul50060049/11805973 问题的产生 我们在平时工作中可能会遇到要批量发送邮件的工作&#xff0c;例如财务部根据每个人的工资情况发放工资条到个人的邮箱&#xff0c;因为邮件因人而异&#xff0c;所以需要完成大量而细致…

Python实现自动发送邮件

最近比较闲的慌&#xff0c;在自己学习Python爬虫&#xff0c;学到了用Python发送邮件&#xff0c;觉得这个可能以后比较实用。以下项目用QQ邮箱为例。 需要用到的模块&#xff1a; smtplib&#xff0c;email 提醒&#xff01;QQ 邮箱一般默认关闭SMTP服务&#xff0c;我们得…

python自动发送邮件实现

目录 1 前言2 准备工作2.1 电子邮件的基础知识。2.2 python邮件库2.3 邮箱设置 3 python实现邮件自动发送3.1 SMTP()和send()方法介绍3.2 python实现实例 参考信息 1 前言 python功能强大&#xff0c;可以实现我们日常办公的很多任务。诸如批量处理word,excel,pdf等等文件&…

Python自动化小技巧14——自动批量发送邮件(带各种附件)

案例背景 我的博客下面评论都是各种要数据的......一个一个发其实很浪费时间的&#xff0c;每次输入评论者的邮箱&#xff0c;然后打开数据所在的文件夹&#xff0c;上传&#xff0c;填写标题正文&#xff0c;发送....... 一模一样的流程&#xff0c;所以这种重复性的劳动肯定…

【Python 】20行代码,实现自动发送邮件

快下班了&#xff0c;今天给大家分享一下&#xff0c;平常我都是怎么发送电子邮件&#xff0c;这个方法能够帮助大家提高工作效率、&#xff0c;摆脱繁重的重复性工作。一般我都会借用Python来实现自动化邮件发送&#xff0c;相信你用过这个方法之后就会爱上它。&#xff08;资…

Python 自动发送邮件实战案例,人人都可以学会

自动发送邮件能应用于许多场景&#xff0c;比如我想要知道股票策略中的股票池是否有实时的更新&#xff0c;这时候如果再拉一遍数据&#xff0c;跑一遍脚本&#xff0c;实在是太浪费时间了。为什么不把这一套流程放到服务器上&#xff0c;然后到点自动运行并发送邮件呢&#xf…

干货 | 解放双手,用Python实现自动发送邮件

使用Python实现自动化邮件发送&#xff0c;可以让你摆脱繁琐的重复性业务&#xff0c;节省非常多的时间。 Python有两个内置库&#xff1a;smtplib和email&#xff0c;能够实现邮件功能&#xff0c;smtplib库负责发送邮件&#xff0c;email库负责构造邮件格式和内容。 邮件发…

小区物业管理系统设计与开发论文

目录 第1章 需求规格说明书... 1 1.1 目的... 1 1.2 系统概述... 1 1.3 系统总体功能描述... 1 1.4 运行环境... 2 1.5 系统角色分工... 2 1.5.1xxx模块功能描述.. 4 1.5.2 xxx模块功能描述.. 5 1.5.3 xxx模块功能描述... 5 1.5.4 xxx模块功能描述... 6 第2章 系统设计说明书..…