nodemailer发送邮件出错(已解决)
发布于 5个月前 作者 chenfeifan 776 次浏览 来自 问答

报错如下: { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED’, errno: 'ECONNREFUSED’, syscall: ‘connect’ } 之前有伙伴发过这个问题(https://cnodejs.org/topic/543c756f91eadb0f73aa33f4#556294908f294e213d10b8d1),但是没有给出解决方案。。。。现在我也遇到了这个问题,希望大牛们帮忙~~~好给大家弄个解决方案出来。 1、这个问题无论是在什么网络环境下都会出现,并非是之前话题小伙伴评论说是网络环境问题,目前我测试过的连接互联网环境有:校园客户端、家庭宽带、云服务器、公网固定IP这四种情况下,报的错误是一样(如上贴出来的代码),所以断定不是因为网络环境。 2、还有伙伴说是因为SMTP协议等,这个我也测试过了,163和QQ和gmail的邮箱都试过(当然用的是对应的协议,并且测试的邮箱都打开了该协议),即使和github上给出的例子一模一样只改发件人邮箱,还是报错。所以断定不是因为协议的问题。

19 回复

我QQ什么的都发不出去。 最后用126邮箱成功了,因为看到cnode也用的126

@jinceon 非要用126的吗?那github上给的例子都是gmail的。。。gmail我也试过了,也不行,好,我注册个126的试下。

两个地方你可以尝试一下:

  1. port那里改成
secureConnection: true,
port: 465,
  1. from字段写成
from: 'xxxx <[email protected]>'

这种形式,我之前没写后面的尖括号的内容就报错了。

额,我是用阿里云邮箱发的 例子在这里 传送门

@luoyjx 还是不行啊。并且,据报错,不是因为这个引起的吧~~~你说的在nodemailer模块github上都有,上面的每种情况我都试过了,没用。 有图为证,我按你说的(还是报错): QQ截图20150525185920.png QQ截图20150525190143.png

@jinceon 亲,我用126也测试了,还是报同样的错误。 并且,为了防止SMTP开启延迟,我在给你回复时又试了一下(已经距离开启SMTP有6个小时),还是不行。求亲测demo~~~~

@luoyjx 噢,对了,你github上那个demo用的是0.3.43版本,最新版的我已经被折腾得够了,为了用上发邮件功能,果断跟你一样换成0.3.43版,终于是不报那个错误了,换成了这个错误: { [AuthError: Invalid login - 535 Error: authentication failed] name: 'AuthError’, data: '535 Error: authentication failed’, stage: ‘auth’ } 代码和你的是一模一样的,只改了对应部分的信息,我的账号和密码都去登过没错。

我的代码是这样的,发送成功。

@jinceon 亲,我按你的代码手动敲进去,令人高兴的是,终于不报连接不上的错误了,还是不行,报错: { [Error: Invalid login] code: 'EAUTH’, response: '535 Error: authentication failed’, responseCode: 535 } 登录验证怎么会出错呢?用户名和密码是对的,smtp也开启了的。我网上搜这个错误,有些网友说用户名和密码需要base64编码,这个你觉得呢? 亲,方便加下Q帮忙解决下么~~~276710039

@chenfeifan 那这个就是验证的问题了,试试就直接用25端口看看?

@luoyjx 25端口也不行。。。网易的说明是465端口,但是我用465或者25都不行。。。

@chenfeifan 不会是没开SMTP服务之类的问题吧 自豪地采用 CNodeJS ionic

@luoyjx 这个问题一开始就排除了,请认真看我的问题描述。现在的问题要么是无法连接,要么是验证不通过。

我的代码几乎跟 jinceon 一致的,一直正常收到邮件。

@think2011 所以我很纳闷~~~为什么那么多伙伴都行,就只有我和极少数的人不行。。。问题出在哪呢?

@jinceon @luoyjx @think2011 测试了100多遍,终于找到问题所在了~~~~ 测试中出现过的错误:535或者553或者550(反正就是5开头的错误) 原因:smtp服务器验证不通过,因为网易的邮箱有个授权限制(这个就是坑所在,鄙视一万年) 解决方案:不适用SSL的话,用25端口,密码要用授权码当密码(登录网易邮箱绑定手机就可以获取得到)。 PS:那个网易邮箱(A)的授权码需要绑定手机(AA)才可以获取,然而我发现了bug,获取授权码后用别的邮箱(B)绑定这个手机(AA),邮箱(A)就可以解绑刚才那个手机(AA),但是邮箱(A)授权码依然是有效的,算不算网易的bug呢? 最后,贴亲测100多次成功的代码: QQ截图20150526113023.png 无论如何,还是诚心谢谢三位的耐心解答,握个爪哈~

@luoyjx 这个必须mark啊~~~用百度和google搜,有人提出过,但是都没给出解决方案。。。嘻嘻,互相学习,少走弯路!

回到顶部