基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)
在虽然日常生活中,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就过不了验证,是真的坑!!)
let transporter = nodemailer.createTransport({
"host": "smtp.mxhichina.com",
"port": 465,
"secure": true, // use SSL
"auth": {
"user": 登录阿里云企业邮箱的账号(和from的内容一致),
"pass": 阿里云企业邮箱对应账号的密码 // password
}
});
let mailOptions = {
from: 发信邮箱(注意发信邮箱要和阿里云企业邮箱的账号一致),
to: 收件人邮箱,
subject:邮件主题,
text: 邮件内容,
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
});
通过这里的代码就可以发送邮箱了,亲测有效
至于为什么管理员账号不能发信,可能需要特殊的设置或者权限吧(笔者猜测)
有知道为啥的大佬欢迎在评论区给我留言
基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)的更多相关文章
- NodeJS下的阿里云企业邮箱邮件发送问题
还没有到11点,再顺带发一个上次碰到NodeJS的邮箱插件nodeMailer不支持阿里云邮件问题. 网上很多资料都默认使用QQ之类的邮箱,因为nodeMailer默认添加了QQ之类的SMTP地址,但 ...
- 在Foxmail中添加阿里云企业邮箱账号
1.安装完成Foxmail之后,新建账号 输入阿里云邮箱地址和密码,点击创建 接受服务器类型你可以选择POP3或者IMAP,在这里我选择的是POP3 点击创建,大功告成. 为什么要写这篇文章呢? 因为 ...
- 记一次邮件推送的坑,c#基于smtp使用腾讯企业邮箱发送邮件总是失败的原因
今天在弄企业邮箱推送的东西,原版代码是这样的 public void SendEmail(string title, string content) { try { MailMessage mailM ...
- 阿里云场景化阿里云企业数字化转型售前方法PSA
阿里云场景化阿里云企业数字化转型售前方法PSA 目录 01 课程收获 理解企业数字化转型的概念.内涵.本质 了解企业数字化转型的要点.目标和切入点 掌握数字化转型项目售前阶段实践方法 场景化方案 阿里 ...
- Java实现网易企业邮箱发送邮件
最近项目需要用网易企业邮箱发送邮件,特意来将实现过程记录一下: maven导入jar包 <!-- javax.mai 核心包 --> <dependency> <grou ...
- Python qq企业邮箱发送邮件
Python qq企业邮箱发送邮件 进入客户端设置: 下面是代码部分: from email.header import Header from email.mime.text import MIME ...
- Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决
前言 今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃.在百度一番查资料后 ...
- 基于Apache的阿里云部署Node.js服务器(Windows环境)
1 前言 由于nodejs项目对方开放了多个端口,而且阿里云上的Apache服务器(windows)已经挂载了网站,此时需要把此项目也挂上去,网上查询资料,方法略少,基本是基于nginx版本的. 2 ...
- Apache Commons Email 使用网易企业邮箱发送邮件
最近使用HtmlEmail 发送邮件,使用网易企业邮箱,发送邮件,死活发不出去!原以为是网易企业邮箱,不支持发送邮箱,后面经过研究发现,是apache htmlEmail 的协议导致,apache E ...
随机推荐
- supervisor学习
概念 supervisord 服务端 启动supervisor程序自身,启动supervisor管理的子进程,响应supervisorctl的请求,重启闪退或异常退出的子进程,把子进程的stderr或 ...
- dotnet run 提示System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。
更换端口号试一下. 查看官方文档 PS: 使用帮助命令 -h,可以指定启动配置文件: dotnet run --launch-profile xxx 例如下面的配置文件,假如我们要使用codes-t ...
- Flask 单元测试 unittest
import unittest 单元测试 app = Flask(__name__) -------------------------------------------- import unite ...
- Springmvc中@RequestMapping 属性用法归纳
简介: @RequestMapping RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. RequestM ...
- java 日志体系(四)log4j 源码分析
java 日志体系(四)log4j 源码分析 logback.log4j2.jul 都是在 log4j 的基础上扩展的,其实现的逻辑都差不多,下面以 log4j 为例剖析一下日志框架的基本组件. 一. ...
- Python_操作邮箱
脚本: from win32com.client import Dispatchimport datetime as dateimport datetimeimport reimport win32c ...
- WCF系列_WCF常用绑定选择
一.五种常用绑定常用绑定的传输协议以及编码格式 名称 传输协议 编码格式 互操作性 BasicHttpBinding HTTP/HTTPS Text,MTOM Yes NetTcpBinding TC ...
- 申请的阿里云主机ubuntu系统无法显示中文
系统ubuntu 16.04,中文的文件名也无法显示,因为中文包没安装,安装如下: sudo apt-get -y install language-pack-zh-hans sudo apt-get ...
- servlet从mysql中取数据时出现的汉字编码问题
取出的汉字都是问号 之后根据网友提示在输出之前对response进行编码设置 正常显示
- latex_引用参考文献格式,引用多篇参考文献
以下内容在TeXstudio中实现: LaTeX 标准选项及其样式命令为: \bibliographystyle{type} 共有以下8种: plain,按字母的顺序排列,比较次序为作者.年度和标题. ...