电子邮件在日常工作中有很大用途,凡项目或任务,有邮件来往可避免扯皮背锅(是否背锅,取决于人,而非邮件)。
而在一些自动化的应用场合,也使用得广泛,特别是系统监控方面,如果在资源使用达到警戒线之前自动发邮件通知运维人员,能消除隐患于前期,而不至于临时临急去做善后方案。
对于多人协合(不管是不是异地)场合,邮件也有用武之地,当有代码或文档更新时,自动发邮件通知项目成员或领导,让各方人员知晓并及时更新(是否更新,取决于人,而非工具)。
说到发邮件,不得不提用程序的方式实现。笔者之前已经开通了腾讯免费企业邮箱,并关联自己的域名,自己注册了些邮箱来测试。

本文使用nodejs语言实现发送电子邮件。

实现

nodejs拥有大量的库,非常方便使用,发送邮件使用了nodemailer库,参考例程,实现了发送功能,源码文件emailtest.js如下:

/*
npm i nodemailer
使用:*/
const nodemailer  = require("nodemailer");// 参数:发件人,收件人,主题,正文(支持html格式)
function sendMail(from, aliasName, tos, subject, msg)
{const smtpTransport = nodemailer.createTransport({host: 'smtp.exmail.qq.com',secureConnection: true, // use SSLsecure: true,port: 465,auth: {user: from,pass: '123456',}});smtpTransport.sendMail({//from    : '标题别名 <foobar@latelee.org>',from    : aliasName + ' ' + '<' + from + '>',//'li@latelee.org, latelee@163.com',//收件人邮箱,多个邮箱地址间用英文逗号隔开to      : tos,subject : subject,//邮件主题//text    : msg,html    : msg}, function(err, res) {if (err){console.log('error: ', err);}});
}function nl2br(str, isXhtml) {var breakTag = (isXhtml || typeof isXhtml === 'undefined') ? '<br />' : '<br>';var str = (str + '').replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&apos;");return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
};function main()
{sendMail('cicd@latelee.org', 'nodejs机器人', "li@latelee.org, latelee@163.com", '这是邮件标题','这是正文。<h2> 我的主页:</h2> 地址为:<a href= www.latelee.org" target="_blank">www.latelee.org</a></br>');
}// call main
main();

测试

安装依赖包:

npm install nodemailer

运行程序:

node emailtest.js

转载:https://blog.csdn.net/subfate/article/details/86491051
记录学习使用,侵删

nodejs 实现发邮件nodemailer相关推荐

  1. 用nodejs向163邮箱, gmail邮箱, qq邮箱发邮件, nodemailer使用详解

    准备工作 准备一个163的邮箱, 并获取授权码 在本地机器安装nodejs "注释详尽"的源码 'use strict'; const nodemailer = require(' ...

  2. 使用nodemailer来发邮件

    需求背景:通过jiraAPI获取团队issue情况,找出存在问题的issue,并邮件通知团队成员.其中扫描jira问题写在vue项目中,方便交互式进行不同问题issue的筛选. 浅记录一下nodema ...

  3. node 实现发邮件的功能

    本项目基于vue的项目来讲解: 准备一个QQ号,打开你的QQ邮箱,设置-> 账户 将SMTP服务设置 为 开启状态 ,并且点击生成授权码,将授权码保存好,后面会用到的 email.vue 的代码 ...

  4. vue 项目实现发 邮件 的功能

    本文以QQ为例子, 其他邮箱参考:node_modules/nodemailer/well-known/services.json 新版本vue-cli 生成已经木有server的文件,需要我们手动来 ...

  5. 利用exchangelib快速上手使用python发邮件

    前言 之前一直知道使用python smtp发邮件,但是最近发现一个神器exchangelib,用这个神器发邮件,简直简单的不能再简单了,官方文档在这里 实例 只需要将下面的xxx改成你的信息就可以了 ...

  6. 公司内部exchange2010 下删除误发邮件

    1.Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 2.get-mailbox | search-mailbox -Search ...

  7. 自动发邮件的程序 c语言,5分钟!教你用C语言发送邮件:附送源码+教学!

    5分钟!教你用C语言发送邮件:附送源码+教学!-1.jpg (10.71 KB, 下载次数: 0) 2018-9-3 02:21 上传 关注<一碳科技>,获取更多知识! 前言 相信年夜家都 ...

  8. 创建oracle发邮件job导致的故障

    前几天创建了个发邮件的存储过程,想把数据库每天的运行情况自动发到邮箱,没想到第二天就出了问题,在dbms/trace目录下产生了大量的xxx_j000_xxx.trc文件,一分钟产生2个.alter日 ...

  9. MDaemon 10.1.2 通过Webclient发邮件时,提示“发邮件时发生错误

    MDaemon 10.1.2 通过Webclient发邮件时,提示"发邮件时发生错误",经查发现服务里边有个Simple mail transfer protocol 服务被启用, ...

最新文章

  1. Eclipse 导入 Tomcat 源码
  2. Java 慎用方法级别的synchronized关键字
  3. alibaba cloud 打包_阿里也上VS Code船了,发布Alibaba Cloud Toolkit插件
  4. hdu4038贪心(最快上升倍率,好题)
  5. 所罗门王之梦(程序员羊皮卷读书笔记)
  6. Python脚本-批量修改文件名
  7. Java应用程序中的验证
  8. 简历避免采坑总结——为什么你的简历杳无音信?程序员的简历该怎么写?看这一篇就够了!毕业生快进 (待更新)
  9. mysql 日志大小_查看mysql日志文件大小和数据库大小
  10. PHP获取一个数组的深度
  11. Ubuntu1804安装ROS(melodic版本)
  12. 线性代数————思维导图(上岸必备)(行列式部分)
  13. 不撞南墙不回头——深度优先搜索
  14. Spring个人深入学习路线图
  15. 【C++课程设计——自助点餐系统】主页及登录界面
  16. 苹果微信多开_苹果手机微信双开,微信多开有哪些可以推荐的?
  17. Android 开发高手课 课后练习(1 ~ 5)
  18. 华为android怎么玩,如何在计算机上使用Android模拟器玩华为帐户手机游戏? ---已回复...
  19. 用audition让声音更加好听
  20. 华为vr计算机连接线,贝尔金推出HUAWEI VR Glass计算机数据线

热门文章

  1. cmake编译错误“recompile with -fPIC“
  2. 虚拟机文件格式详解 .VMX .VMSD .VMDK .NVRAM .VMX.LCK
  3. 2022年化工自动化控制仪表考试模拟100题模拟考试平台操作
  4. 【Java分享客栈】SpringBoot整合WebSocket+Stomp搭建群聊项目
  5. 进销存软件开发视频教程(C#版,共70讲)
  6. ios开发 架子鼓功能开发_适用于iOS开发人员的功能标志
  7. 多方会议会议解决方案
  8. 江苏上海php培训,2019年第一期班组长素质提升培训班在江苏南京成功举办
  9. 里奥老师乾坤大挪移—浅尝状态机
  10. 黑马程序员----JAVASE之交通灯管理系统