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

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

月光魔力鸭

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
前几天同事抱怨说微博太费劲了... 一万多条记录,可能会把他累死,我心想.. 重复工作不都可以用程序代替么..
当我们使用web打印相关的解决方案的时候,还有不少小坑值得注意下,同时需要了解几个小技巧提升在web打印上的友好度,以下整理一些常见的小技巧
本来是想做一个图床,然后在chrome扩展中添加上,但是发现chrome的扩展有点毫无头绪,只能从头练习,从头学了。
近期有添加数学公式的需求,找来找去,最后还是选择了最简单的。tinymce+kityformula
昨天实现一个tabbar的时候发现怎么都无法跳转,直接拿的官方的demo,后来才发现是自定义tabbar的问题。
本篇文章以一个实际的小项目为主题进行从头到尾的讲解实现,该项目总计开发时长约6小时,主要是有很多页面或功能都是现成的,直接复制过来的,剩下的就调整下样式、字段内容等。
一直有跑着puppeteer在做pdf的生成,可以今天突然发现一个问题:预览与打印生成的PDF不一致,猜测可能是边距导致的,应该是没设置好... 然后当我在本地尝试的时候也发现了这个问题..要么是字符,要么是版本
之前看知乎相中了一个想法,给宝宝做一个站,上传生活的日常照片啊、视频之类的,存储肯定是在自己家里,然后做个穿透这样..开始做的时候又想着是时候接触下这些东西了,虽然公司都一点不用,但是自己没事接触下拓展下也是好的。