NodeMailer

刚开始学习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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 写一个布局,它的宽度是不固定的100%,如果让它的宽度始终是高度的一半呢?

[html] 写一个布局&#xff0c;它的宽度是不固定的100%&#xff0c;如果让它的宽度始终是高度的一半呢&#xff1f; <div class"ratio" style"--ratio: 0.5;"></div>.ratio {background-color: salmon;position: relative; }.ratio::before {…

c++ using 前置声明_每日优鲜前置仓模式的配货优化方案案例介绍

大渔导读&#xff1a;2019 年零售业供应链最佳实践大奖——银奖 基于每日优鲜前置仓模式的配货优化方案案例&#xff1b;1. 背景介绍&#xff1a; 每日优鲜成立于 2014 年 11 月&#xff0c;是专注于优质生鲜的移动电商&#xff0c;已在北上广深等全国 10 个核心城市建立“城市…

lg gw880 qq2011 android beta4版,LG GW880评测:CMMB天线、细节设计

机身侧面的银色边框与黑色的正面形成了鲜明的对比。不同于大部分的手机&#xff0c;LG GW880把电源/锁机键放到了机身左侧&#xff0c;而且还多了一个返回键&#xff0c;所以机身侧面设置了比较多的按键&#xff0c;设计比较复杂。机身右侧是拍照键、音量键以及数据线接口&…

数据库的事务,隔离级别和3大范式

*数据库事务的想关操作 1.事务开始:开始是一个事物,作为回滚的标记 2,回滚 rollback :回滚到上一个事务开始的地方, 或者回滚到某个存档点,期间没被 commit ; 操作都会被撤回 3.提交commit ;将事务中所有操作提交到数据库中 4.存档点:设置存档点方便回滚 *开始事务 ........确认…

IE6/IE7/Firefox浏览器不兼容原因及解决办法

浏览器的不兼容&#xff0c;大家肯定都是深恶痛绝的&#xff0c;往往我们只是去做修补&#xff0c;却忘了更重要的事情&#xff0c;那就是追溯根源&#xff0c;避免类似的不兼容再次出现。在下不才&#xff0c;归纳几点html编码要素&#xff0c;望能指点各位&#xff1a; 1.文字…

[html] 如果要开发一个在超级大屏上显示的可视化页面,你首先要考虑什么?

[html] 如果要开发一个在超级大屏上显示的可视化页面&#xff0c;你首先要考虑什么&#xff1f; 适配 清晰度个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

excel按季度分类汇总_Excel数据分析实战(1)--电商销售记录分析

Excel是市面上最流行的办公软件之一&#xff0c;也是数据分析师入门最好的学习工具。因为其功能强大、操作简单&#xff0c;可以快速对数据进行清洗&#xff0c;建模&#xff0c;可视化&#xff0c;操作者不需要其他计算机基础也能快速上手。所以选择Excel进行数据分析入门的项…

android 跳转页面出错,Android 页面跳转(无/含有返回结果)

一.两个页面的xml文件factivityandroid:layout_width"match_parent"android:layout_height"wrap_content"android:text"直接跳转" />android:layout_width"match_parent"android:layout_height"wrap_content"android:tex…

[Silverlight]奇技银巧系列-2

Silverlight奇技银巧系列&#xff1a; 所有该系列中的文章只为介绍一些Silverlight中或隐藏在Silverlight .NET framework鲜为人知的知识和技巧。这些文章并非教程&#xff0c;也是不是什么技术指导&#xff0c;您只需对文章介绍的内容保有印象。这些知识和技巧也许会在不经意间…

[html] 如何解决微信浏览器视频点击自动全屏的问题?

[html] 如何解决微信浏览器视频点击自动全屏的问题&#xff1f; 1.1 页面内播放 X5内核视频在用户点击后默认会进入全屏播放&#xff0c;前端可以设置video的x5-playsinline属性来将视频限定于网页内部播放&#xff0c;这个默认还是使用的X5内核视频播放控件&#xff0c;层级高…

好程序员Java分享Java案例_英汉字典

在写代码的时候&#xff0c;当鼠标悬浮在某一个单词上面的时候&#xff0c;有道词典点有时会弹出一个消息气泡&#xff0c;在里面中给出关于这个单词相关的解释&#xff0c;下面给大家展示一个使用Java基础语言编写的英汉字典案例&#xff1a;   实现功能&#xff1a; …

同事更新几个表_最近计划学习的几个网站资源

在没有明确需要的时候逛知乎&#xff0c;B站什么的随便看教程&#xff0c;发现资源很多&#xff0c;五花八门&#xff0c;但是总也没系统地学习一下。一会儿看一小段&#xff0c;转眼就忘光了&#xff0c;只留下一个刚才我没有在玩耍的错觉。以上是无关紧要的忏悔。接下来主要记…

[html] H5播放的video视频,如何实现对视频截图?

[html] H5播放的video视频&#xff0c;如何实现对视频截图&#xff1f; <video controls src"./assets/demo.mp4" width"400" height"300" id"video">Sorry, your browser doesnt support embedded videos.</video><bu…

带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)

在本篇文章中,将与大家分享如何将一个带有托管代码(manage code)的InfoPath2007表单模版发布到SharePoint Server2007的表单库中&#xff0c;并使得最终用户可以通过浏览器方式访问。 1. 创建InfoPath表单模版 在这里&#xff0c;我们使用VSTO2005与InfoPath2007。生成…

cefsharp System.IO.FileNotFoundException: 未能加载文件或程序集“CefSharp.Core.dll”或它的某一个依赖项。...

解决办法 安装vc 2015 Redistributable 64位系统安装x64 如果还报错先装x64版本再装x86版本 https://files.cnblogs.com/files/xuejianxiyang/vc_redist.part1.rarhttps://files.cnblogs.com/files/xuejianxiyang/vc_redist.part2.rarhttps://files.cnblogs.com/files/xuejianx…

jdbc获取结果行数_java – 如何判断从JDBC执行更改的行数

我不确定如何从SQL执行中获取受影响的行数.我喜欢这个&#xff1a;boolean isResultSet statement.execute(arbitrarySQLCommand);我可以从getUpdateCount()方法获取受影响的行数.这一切都很好.我遇到的问题是更新计数为零时.这可能意味着&#xff1a;>这是一个DML语句,但它…

[html] 前端需要注意哪些SEO?

[html] 前端需要注意哪些SEO? 合理的title&#xff0c;description&#xff0c;keyswords 搜索引擎对这三项的权重逐个减小&#xff0c;title 值强调重点即可&#xff0c;重要的关键词出现不要超过两次&#xff0c;而且要靠前。2 、不同页面的tilte要有所不同&#xff1b;desc…

html语言文本框的符号,如何将文本框中的值作为HTML字符串提交?

我正在使用react draft wysiwyg库,我希望文本框中输入的值是HTML字符串的形式。我的州:editorState: EditorState.createEmptyeditorState{this.state.editorState}toolbarClassName"toolbarClassName"wrapperClassName"wrapperClassName"editorClassName&…

7种常用p2p共享协议

一、Napster&#xff1a;第一个大型的&#xff1b;中央集中式&#xff1b;倒闭了&#xff1b;二、Gnutella和Gnutella2&#xff1a;开源的&#xff1b;第一个真正非中心的。Gnutella2是对Gnutella的改进和扩展。三、FastTrack&#xff1a;第一个客户端是KazaA。协议与Gnutella类…

c++中怎么数组内有用元素的个数_前端面试(算法篇) - 数组乱序

一、面试题问&#xff1a;有一个长度为 100 的数组&#xff0c;如何从中随机挑选 50 个元素&#xff0c;组成一个新的数组&#xff1f;答&#xff1a;这个...那个...emmmmmm问&#xff1a;那先不挑 50 个&#xff0c;就挑一个数&#xff0c;知道怎么做吗&#xff1f;答&#xf…