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

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

月光魔力鸭

2020-10-11 23:10 阅读 1157 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
docker build 执行yum失败,找不到repo
整理一些相关的信息,防止后续再找不到。
mysql数据库插入double类型确没有小数点
功能来源于客户需求。客户有需求想把班级内所有学生的错题本生成pdf文档下载下来... 目前没有做这个功能,只有页面,还好chrome浏览器有保存pdf的功能,但是一想到这么多的学生,这么多的学科、以及这么多的参数... 还好有puppeteer
登录方式现在非常多,不过像我这种小站让用户自己注册基本是不可能的了,只能依赖现有的第三方的登录来集成,之前有集成github,不过这个太过针对性,这里准备集成QQ互联登录,慢慢记录下。
上一章,我们学习和了解了websocket 是什么以及初始搭建,接下来,我们继续了解,如何进行广播以及对应的私聊呢。
最近在做直播,是用的webrtc,然后找的免费的starrtc ,当然,可能由于种种原因吧.. 用起来并没有特别顺畅,后续还希望能够深入这部分,从现在开始学习..当然,websocket 是顺带的,可以用来发消息什么的肯定也是要用到的。
国庆马上来临,头像已经先热起来了,为了蹭蹭热度,赶紧加班搞了一个。