基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)

简介: 在虽然日常生活中,QQ,微信等即时聊天工具几乎主导了人们的生活,但是邮件依然是现代生活不可缺少的一部分。这篇文章主要讲述使用node.js 中的nodemail模块操作阿里云的企业邮箱发送邮件(526错误的解决办法请前往2.

在虽然日常生活中,QQ,微信等即时聊天工具几乎主导了人们的生活,但是邮件依然是现代生活不可缺少的一部分。这篇文章主要讲述使用node.js 中的nodemail模块操作阿里云的企业邮箱发送邮件

(526错误的解决办法请前往2.nodemail的红字部分查看)

1.拥有一个阿里云的企业邮箱

首先登录阿里云官网,在右上角可以进入阿里云邮箱

然后就可以进入企业邮箱的登录界面

这里大概讲一下阿里云的企业邮箱的获取方法,笔者是在买ECS服务器的时候阿里云赠送的(已经使用过的请自动忽略)

如果你也有赠送的,但是之前没有使用过的同学

可以在控制台当中的云市场中

在云市场中的域名下面的分类中可以找到企业邮箱板块

在管理中你可以看到你的企业邮箱的相关信息

你可以在这里进入邮箱的登录页面

可以在这里设置邮箱的解析域名

也就是可以将企业邮箱解析到你的域名上

 


 

2.nodemailer

准备好阿里云企业邮箱之后,先了解一下我们会用到的API及参数设置

这里就不讲nodemailer的安装了,不会的朋友可以自行百度一下,有许多相关的博客文章写的挺好的

在这里我截了几张官网上的图大概讲解一下Api

这里主要讲一下SMTP服务器

其他的邮件服务器操作与之类似

 

 下面是定义一个Smtp的对象

后面邮件的发送都是通过这个对象来操作

先看一下这个options里面的参数

至于下面的安全传输层协议,我们需要设置的只需要将secure设置为true即可

host参数 阿里云企业邮箱STMP服务器地址为 smtp.mxhichina.com 其他的邮件服务器地址请前往官网查看https://help.aliyun.com/knowledge_detail/36576.html?spm=5176.8071678.877627.duankou.75556b384n2RqH

这里我还是贴一张图

这里的加密端口也就是我们将secure参数设置为true后所使用的端口

然后在auth参数中一般使用user、pass两个参数

user指的是邮箱的登录账号

pass是邮箱账号的登录密码(QQ邮箱等一些邮箱需要使用授权码的方式登录,授权码是个坑望诸君谨慎行事)


这里插播一段526错误的解决办法,当时这个身份验证的错误卡了笔者很久,故花一些文字记录一下

526错误是身份验证错误,官网上的说法是服务器地址不对、用户名错误、或者用户名与密码不匹配

在查询一些博客后,526报错仍未解决(此处解决情况可能为个例,也许不具备普遍性,希望大家能少踩坑)

 

我这里的解决办法是用阿里云企业邮箱的管理员账户,创建一个子账户,使用这个子账户进行网站的发信

 

(再说一个坑的地方就是阿里云的子账户分配后需要修改子账户的密码,他有一个提示说不能使用域名作为密码,这里只要密码中包含了域名比如www.taobao.com 的域名只要你密码中有taobao就过不了验证,是真的坑!!)

 

 1 let transporter = nodemailer.createTransport({
 2             "host": "smtp.mxhichina.com",
 3             "port": 465,
 4             "secure": true, // use SSL
 5             "auth": {
 6                 "user": 登录阿里云企业邮箱的账号(和from的内容一致),
 7                 "pass": 阿里云企业邮箱对应账号的密码         // password
 8             }
 9         });
10         let mailOptions = {
11             from: 发信邮箱(注意发信邮箱要和阿里云企业邮箱的账号一致), 
12             to: 收件人邮箱,
13             subject:邮件主题,
14             text: 邮件内容, 
15         };
16         transporter.sendMail(mailOptions, function(error, info){
17             if(error){
18                 return console.log(error);
19             }
20         });

通过这里的代码就可以发送邮箱了,亲测有效

至于为什么管理员账号不能发信,可能需要特殊的设置或者权限吧(笔者猜测)

有知道为啥的大佬欢迎在评论区给我留言

 

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
26天前
|
网络协议 搜索推荐
阿里云DNS常见问题之阿里云DNS企业邮箱收不到国外的邮件如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
5月前
|
Java
java阿里云企业邮箱发送邮件
java阿里云企业邮箱发送邮件
3603 0
|
6月前
|
域名解析 安全 数据安全/隐私保护
阿里云企业邮箱简介和如何开通
阿里云企业邮箱是一款专为企业提供的电子邮件服务,它不仅拥有可靠、稳定、高效的特点,而且还具有一系列智能化的功能。这些功能包括:智能过滤、智能归档、智能备份、智能安全等方面的服务,这些服务可以帮助企业更高效地管理电子邮件,减少不必要的工作量,提高工作效率。
365 0
阿里云企业邮箱简介和如何开通
|
8月前
|
API 数据安全/隐私保护 开发者
阿里云企业邮箱确实提供了一些API接口
阿里云企业邮箱确实提供了一些API接口
1399 1
|
9月前
|
域名解析 安全 云计算
阿里云企业邮箱如何开通使用
阿里云企业邮箱是一个专业的企业邮件解决方案,由阿里云推出。它提供了强大的功能和可靠的性能,帮助企业构建稳定和高效的企业邮件系统。作为云计算领域的巨头,阿里云的企业邮箱服务得到了广泛的认可和信任。
|
10月前
|
存储 弹性计算 监控
阿里云企业邮箱怎么样?企业邮箱详细介绍
阿里云企业邮箱怎么样?企业邮箱详细介绍
460 0
|
10月前
|
存储 弹性计算 监控
阿里企业邮箱_阿里云邮箱购买申请_钉钉企业邮箱
阿里企业邮箱_阿里云邮箱购买申请_钉钉企业邮箱
151 0
|
10月前
|
存储 弹性计算 监控
阿里云企业邮箱_阿里企业邮箱收费标准详细介绍
阿里云企业邮箱_阿里企业邮箱收费标准详细介绍
148 0
|
10月前
|
存储 弹性计算 监控
阿里云邮箱_阿里云企业邮箱_阿里企业邮箱注册申请入口
阿里云邮箱_阿里云企业邮箱_阿里企业邮箱注册申请入口
430 0
|
10月前
|
存储 弹性计算 监控
阿里企业邮箱_阿里云邮箱企业版_企业邮箱详细介绍
阿里企业邮箱_阿里云邮箱企业版_企业邮箱详细介绍,阿里邮箱是阿里云自主研发的,基于飞天平台自主研发的云原生分布式邮箱系统,阿里邮箱提供免费版、标准版、尊享版和集团版,企业邮箱版本不同支持的账号数也不同,共享网盘容量和个人网盘容量均不同,阿里云百科来详细介绍下阿里云企业邮箱
231 0