刚开始学习MEAN, 搞个插件发个邮件。

NodeMailer貌似出镜率很高,用用。

https://nodemailer.com/smtp/


先申请了个个人的Outlook的邮箱,测试了一把,顺利通过。耶,好激动。

const nodeMailer = require('nodemailer');
    let transporterExt = nodeMailer.createTransport({host: 'smtp-mail.outlook.com',port: 587,secureConnection: false,auth: {user: 'messagesender@outlook.com',pass: 'jiubugaosuni',},tls: {ciphers: 'SSLv3'}});  
let mailOptions = {
from: '"DisplayName"<real_address@xxx.com>',
to: '' + emailList,
subject: '' + subject,
text: '' + text,
html: '<p><h1>' + text + '</h1></p>'
};

  transporterExt.transporter.sendMail(mailOptions, (error, info) => {
if (error) {
res.send({ hasError: true, msg: 'Failed to send mail.' + error.message });
return console.log('mail error', error);
}
console.log('Message %s sent: %s', info.messageId, info.response);
res.send({ hasError: false, msg: 'Mail Sent.' });
});

 

然后呢,试了几天以后,发现突然授权失败了,用网页一登陆outlook,发现被封号了,需要输入手机验证码登陆。

原来outlook不喜欢我这么发邮件,可能被认为成垃圾邮件的制造者了。

而且,感觉我的目的邮箱自从接收到outlook的邮件后,也确认莫名接收到过outlook垃圾邮件。

不管了,此路不通,换一条。


后来我就想,整个公司内部的邮箱吧,看着也正式一点。

于是参考了同事C#的代码。

            MailMessage mail = new MailMessage();mail.Subject = "AUTO TEST of Sending Emails";mail.From = new MailAddress("地址随便写@域名.com", "显示名称随便写");            mail.To.Add("确实存在的目的邮箱地址");mail.Body = "Testing Email";mail.BodyEncoding = Encoding.UTF8;mail.IsBodyHtml = true;SmtpClient client = new SmtpClient();client.Host = "smtp.公司内网域名.com";client.Port = 25;client.Send(mail);

我去,居然连用户名密码都不用给,发送邮件的邮箱地址和名称可以随便写,不管存在与否,太爽啦。

经过反复尝试之后,下面的代码可以工作,太好啦。

    let transporter = nodeMailer.createTransport({host: 'smtp.公司内网域名.com',port: 25,tls: {//This config would open a connection to TLS server with self-signed or invalid TLS certificaterejectUnauthorized: false}});

毕竟是内网嘛,先不考虑安全性,完事儿,收工。

参考文献:

https://stackoverflow.com/questions/47595691/send-email-without-password-using-nodemailer-over-a-zimbra-smtp#

转载于:https://www.cnblogs.com/jiceberg420/p/10936083.html

NodeMailer相关推荐

  1. Node.js使用NodeMailer发送邮件

    var nodemailer = require('nodemailer') var transporter = nodemailer.createTransport("SMTP" ...

  2. nodemailer实现node发送邮件

    作为一个前端er,利用node独立做一些全栈小项目,是很有效率和必要的. 需要: 做一个活动报名页面,用户填好的表单需要被工作人员收到,一想到把数据存数据库,还需要给工作人员写一个管理页面就觉得很麻烦 ...

  3. express利用nodemailer发送邮件(163邮箱)

    Nodemailer 是一个简单易用的Node.js邮件发送组件 首先安装这个组件 npm install nodemailer --save 安装之后,可以在某个get请求下,发送邮件,具体路由代码 ...

  4. nodemailer 附件_如何使用Nodemailer发送带有附件的电子邮件。 Node.js

    nodemailer 附件 In the previous article, "How to send emails using Nodemailer?", we discusse ...

  5. nodemailer使用_如何使用Nodemailer使用HTML作为内容发送电子邮件 Node.js

    nodemailer使用 Prerequisite: 先决条件: How to send emails using Nodemailer | Node.js 如何使用Nodemailer发送电子邮件. ...

  6. Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块)

    Express使用nodemailer完成邮箱验证功能详细流程(含封装,可作自定义模块) 记录大创项目中,在express中使用第三方模块nodemailer完成邮箱验证功能,含客户端请求验证邮件和服 ...

  7. nodejs nodemailer

    nodejs & nodemailer https://www.npmjs.com/package/nodemailer 上面的連接裏面 有有一個例子: 可以直接拿來用: 安裝依賴,在pack ...

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

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

  9. nodemailer的使用

    前段时间有个很普通的项目需要发邮件的功能,而且是刚开始学nodejs,所以只是搜索了下用什么好的库能实现,就找到了nodemailer了.这篇文章主要是记录一下使用的过程和经验. 如何使用 这里就先上 ...

最新文章

  1. 基于Jittor框架实现LSGAN图像生成对抗网络
  2. 硬盘满了 mysql启不来_MySQL数据库之磁盘已满造成的mysql启动失败问题分享
  3. Asp.Net Core 混合全球化与本地化支持
  4. java 加法 溢出_StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
  5. win10创建新的计算机用户名和密码错误,Win10开机提示用户名或密码不正确现象的解决办法...
  6. 常用RAID类型以及它们的区别
  7. 面试 其实就是短时间内展现出你最好的自我
  8. matlab朴素贝叶斯手写数字识别_「深度学习系列」PaddlePaddle之手写数字识别
  9. SVN服务更换小记(由subversion更换为VisualSVN)
  10. 家用计算机存储容量,计算机内存储器容量有多大?
  11. Mixly遥控调光器
  12. 每天读点故事产品体验报告
  13. dp题目总结(1)——基础
  14. Latex爬过的坑(2)——I was expecting a ‘,‘ or a ‘}‘
  15. GET请求里的body问题
  16. 计算机中心英语怎么说,计算机中心,computer center,音标,读音,翻译,英文例句,英语词典...
  17. tomcat上部署的solr的移植以及数据的备份与恢复
  18. 《Dreamweaver CS6 完全自学教程》笔记 第十三章:Dreamweaver 中的 HTML 代码
  19. ScriptManager和ClientScript的区别
  20. Android 8.1/GO GMS认证 (GMS认证群:738320435)

热门文章

  1. c语言上机报告之水仙花数,C语言上机报告之水仙花数..doc
  2. 可变悬挂调节软硬_【5040地推合作品牌】荷兰高性能减震器及悬挂系统品牌—KONI...
  3. pytest配置文件pytest.ini
  4. Python 爬虫利器二之 Beautiful Soup 的用法
  5. js_组合继承(最常用的继承方式)
  6. Unable to execute dex: Multiple dex files define 解决方法
  7. [react] react中什么是非控组件?
  8. 前端学习(3068):vue+element今日头条管理-上午总结
  9. [html] HTML5如何监听video的全屏和退出全屏?
  10. [html] 说说js代码写到html里还是单独写到js文件里哪个好?为什么?