electron 制作批量发送邮件小工具

electron 制作批量发送邮件小工具

月光魔力鸭

2020-10-11 23:10 阅读 944 喜欢 0 批量发送邮件

最开始其实只是网站的一个小改版,导致的需要发送邮件的功能,本身功能不复杂,不做工具的话,几行代码应该就可以搞定的.. 不过后来想想,这个功能应该还是有一定的小需求的,就做成了工具。

每次打包每次坑,还是先说下这次碰到的两个问题,主要还是图标问题。

坑A

在正常debug模式下开发的时候都正常,左上角的LOGO正常显示,但是通过electron-builder打包后就不显示了无

我这边的主要原因是路径使用的相对路径,没有用绝对路径,如下:

path.join()一下就可以了

当然,在查找资料的时候,有很多同学都说图标ico有问题,这个我之前找的网站做的ico,应该问题不大。

坑B

打包后,安装的时候builder里面有一个installerSidebar 总是不显示,是在安装的时候左侧显示的图片,查了下发现是bmp格式的,大小为164*314 ,最后又处理了下就OK 了。


核心代码

接下来烟鬼正传,所有这里面其实没什么核心的东西,主要思路就是制作邮件模版,给定关键字,然后提供邮箱数据excel以及关键字替换内容,配置好邮箱设置,然后轮流发送即可。

模块使用nodemailer -- mailer.js ,提供发件人服务商 端口 邮件 授权密码,接收者,邮件标题,内容即可。

var nodemailer = require('nodemailer');

function sendMail (host,port,baseUser,basePass,userList,title,content){

    // create reusable transporter object using the default SMTP transport
    var transporter = nodemailer.createTransport({
        pool : true,
        host : host,
        port : port,
        secure : true,
        auth : {
            user : baseUser,
            pass : basePass
        }
    });

    // setup e-mail data with unicode symbols
    var mailOptions = {
        from: baseUser, // sender address
        to: userList, // list of receivers
        subject: title, // Subject line
        html: content // html body
    };
    return new Promise((resolve,reject)=>{
        transporter.sendMail(mailOptions, function(error, info){
            if(error){
                reject(error);
            }else{
                resolve(info);
            }
        });
    })
}
module.exports = sendMail;

剩下的就是页面编写,导入、校验的工作了,都是些增删改没啥含量的东西.. 当然,这个工具整体上就没啥技术含量,属于给自己做个工具玩的。

简单介绍下工具使用

当然,模版好看不好看就得看功力了,可以从word转成html,然后复制进去,替换关键词。


以上。 目前工具可以从 https://shop.licran.com 网站中找到... ヾ(o◕∀◕)ノヾ

转载请注明出处: https://chrunlee.cn/article/electron-send-mail-bat.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
最近有个小功能需要一些基础数据,找了一下在小程序上有发现,暂时还没找到他的网站,想着把这些数据爬一些下来做为基础数据使用的。本来还想着直接反编译小程序的,没想到微信变更了加密方式,以前反编译的路子走不通了。
昨天实现一个tabbar的时候发现怎么都无法跳转,直接拿的官方的demo,后来才发现是自定义tabbar的问题。
功能来源于客户需求。客户有需求想把班级内所有学生的错题本生成pdf文档下载下来... 目前没有做这个功能,只有页面,还好chrome浏览器有保存pdf的功能,但是一想到这么多的学生,这么多的学科、以及这么多的参数... 还好有puppeteer
写到这里,基本上就完成了我之前一篇文章中写的,我要做一个自己的图床的小程序了。在最初我要做图床的时候,发现在谷歌扩展程序上一无所知,所以才开始学习的这个,到这一步,至少能勉强能跑通自己的小程序了。
上一章,我们学习和了解了websocket 是什么以及初始搭建,接下来,我们继续了解,如何进行广播以及对应的私聊呢。
之前看知乎相中了一个想法,给宝宝做一个站,上传生活的日常照片啊、视频之类的,存储肯定是在自己家里,然后做个穿透这样..开始做的时候又想着是时候接触下这些东西了,虽然公司都一点不用,但是自己没事接触下拓展下也是好的。
简单记录下碰到的一个问题,通过jenkins 远程部署springboot+ vue 项目碰到的问题。
docker build 执行yum失败,找不到repo