1.下载  模块

2.  编辑文件

var nodemailer = require('nodemailer');
var sendEmail = function(emailinfo,callback){
var nodemailer = require('nodemailer');
var mail = emailinfo.emailaddress;
//检测邮箱地址是否为空
if (!mail) {
callback("请输入邮箱地址!");
}else{
//检测邮箱地址是否符合规范
if (!mail.match()) {
callback("邮箱地址不符合规范,请重新输入!");
}else{
//邮件发送
var transporter = nodemailer.createTransport({
host: 'smtp.mxhichina.com',
port: 25,
service: 'smtp.mxhichina.com ',
auth: {
user: 'xxx@xx.com',//你的邮箱账号
pass: 'XXXXXX'//你的邮箱密码
}
});
var mailOptions = {
from: '阿泽 xxxx@xxxx.com', // sender address
to:mail, // list of receivers
subject: '测试邮件', // Subject line
text: 'Nodejs之邮件发送', // plaintext body
html:"<h2><a href='test.jiucaiyun.cn/jiucaiyunstatic/' >"+emailinfo.inputperson+"邀请您来报价("+emailinfo.inquirynum+"),请登录采购平台来报价!</a></h2>",
attachments:[
{
filename : 'a.jpg',
path: 'http://img13.360buyimg.com/n0/jfs/t4642/55/3978388666/72688/c8b2dcf/59080db2N7ae9168e.jpg'
}
]
}; transporter.sendMail(mailOptions, function(error, info){
if(!error){
callback( "邮件发送成功,请注意查收!");
}else{
console.log(error);
callback("邮件发送失败,请稍后重试!");
}
});
}
} }

var emailinfo = {"emailaddress":"chengzeqi@163.com","inputperson":"成泽琦(chengzq)","inquirynum":"XJDD201901100001"}
sendEmail(emailinfo,function(result){
  console.log(result)
})

 

3.  在 nodemailer-wellknown 模块下 的services.json  文件最后一行添加  阿里云的SMTP地址配置

  

"aliyun":{
"host": "smtp.mxhichina.com",
"port": 25,
"secure": true
}

4. 发送邮件

5.  查看邮件

nodejs 发送邮件(阿里云)的更多相关文章

  1. 如何安装NodeJS到阿里云Centos (64位版本V5-7)

    如何安装NodeJS到阿里云Centos (64位版本V5-7) (Centos与Red Hat® Enterprise Linux® / RHEL, Fedora属于一类) 1) 安装v0.10版 ...

  2. nodejs连接阿里云物联网套件(mqtt)

    文档地址:https://help.aliyun.com/document_detail/73742.html   连接方法:先HTTPS认证再连接 /* *阿里云物联网套件nodejs连接示例 *C ...

  3. NodeJS 实现阿里云推送。

    虽然阿里云推送也有 NodeJS SDK ,只要在项目中引用 aliyun-sdk 就可以使用了.里面的推送功能了. 我在这里就不写怎么使用aliyun-sdk.给出来的DEMO是回调形式的.用起来有 ...

  4. nodejs版 阿里云开放api签名算法

    阿里云 API 签名 github:https://github.com/liuyinglong/aliyun; npm :https://www.npmjs.com/package/aliyun-a ...

  5. 基于nodejs的阿里云DDNS服务,支持多网卡绑定

    前段几天写的,自用. 想着也许有和我一样需求的同学,所以开源发出来了. 提供阿里云的DDNS设置,支持多网卡多域名绑定. 特性 支持阿里云DDNS设置 支持针对多个线路多个网卡单独设置域名 支持IPv ...

  6. 阿里云 OCS SDK for NodeJS介绍

    阿里云 OCS SDK for NodeJS介绍 阿里云技术团队:熊亮 阿里云 SDK for NodeJS 是为 NodeJS 开发者提供使用阿里云各项服务的统一入口,由阿里云UED团队负责开发维护 ...

  7. 阿里云部署nodejs服务器(windows)

    花了大半个月做的网站终于要上线了,周围的同学们很多都在使用阿里云的服务器,我也入手了一台.考虑到自己不是很适应ubuntu的命令行界面,于是买了个windows的,上网搜了一下,似乎都是用linux来 ...

  8. nodejs + nginx + ECS阿里云服务器环境设置

    nodejs + nginx + ECS阿里云服务器环境设置 部署 nodejs ECS 基于 CentOS7.2 详细步骤:click 部署 nginx 安装 添加Nginx软件库: [root@l ...

  9. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

随机推荐

  1. 批量删除QQ空间说说

    第一步:用电脑打开浏览器登录你的QQ空间 第二步:点击你的说说栏目 第三步:按下电脑的F12键或者点击右上角的菜单一栏,点击开发者工具 第四步:看到右半边屏幕,找到一个叫Console的菜单,并且点击 ...

  2. 对于ESP、EBP寄存器的理解

    原文:http://blog.csdn.net/yeruby/article/details/39780943 esp是栈指针,是cpu机制决定的,push.pop指令会自动调整esp的值: ebp只 ...

  3. 栈队列例题2:SetOfStack放盘子

    代码如下: import java.util.ArrayList; import java.util.Scanner; public class SetOfStack { public static ...

  4. 洛谷P4925 [1007]Scarlet的字符串不可能这么可爱(计数)

    题意 题目链接 Sol 只要知道"回文连续子串"就能做了吧.. 想要满足这个条件,肯定是不能出现\(aa\)或\(aba\)这种情况 如果没有\(S\)的限制,答案为\(K * ( ...

  5. web worker技术-js新线程

    web worker的小例子,用来入门很合适,建议启动服务来开发.可以使用node的anywhere. <!DOCTYPE html> <html lang="en&quo ...

  6. Android开发由eclipse转Android Studio中一些常见出错问题解决方法

    1.给一个Activity添加了一个Dialog主题,结果出现了下面的问题,在eclipse却没有出错 <activity android:name=".DialogActivity& ...

  7. ansible使用5-Variables

    变量命名 支持数字.字母.下划线 有效:foo_port, foo5 无效:foo-port, foo port, foo.port, 12 playbook定义 - hosts: webserver ...

  8. 理解python yield

    python源代码中经常会有使用yield,带有yield的函数是generator(生成器),它返回是一个迭代值,下面我们分析yield是什么原理,有什么好处? 首先,我们写一个简单的斐波那契数列前 ...

  9. April 10 2017 Week 15 Monday

    He alone is poor who does not possess knowledge. 没有知识,才是贫穷. Knowledge, as a important part of wisdom ...

  10. java 内存举例

    1. java内存的主要划分 2.  OOTest02.java 的内存划分 public class OOTest02{ public static void main(String[] args) ...