问题描述
我一直在尝试使用nodetraper的基本组合,使用mailtrap.io帐户工作并删除。
这是我的app.js:
const nodemailer = require('nodemailer');
let transport = nodemailer.createTransport({
host: "smtp.mailtrap.io",port: 2525,// secure: true,auth: {
user: "myusername",pass: "mypassword"
},debug: true,logger: true
});
let scrapeEmailMessage = {
//from: '[email protected]',to: '[email protected]',subject: 'Hello World',text: 'hello world'
};
let mailTransporter = nodemailer.createTransport(transport);
mailTransporter.sendMail(scrapeEmailMessage,function(err,data) {
if(err) {
console.log(err);
} else {
console.log('Email sent successfully');
}
});
[2020-11-10 14:32:20] DEBUG Creating transport: nodemailer (6.4.15; +https://nodemailer.com/; SMTP/6.4.15[client:6.4.15])
[2020-11-10 14:32:20] DEBUG Creating transport: nodemailer (6.4.15; +https://nodemailer.com/; SMTP/6.4.15[client:6.4.15])
[2020-11-10 14:32:20] DEBUG Sending mail using SMTP/6.4.15[client:6.4.15]
[2020-11-10 14:32:20] DEBUG [YlvPyvxQxE] Resolved localhost as 127.0.0.1 [cache miss]
[2020-11-10 14:32:22] ERROR [YlvPyvxQxE] connect ECONNREFUSED 127.0.0.1:587
[2020-11-10 14:32:22] DEBUG [YlvPyvxQxE] Closing connection to the server using "destroy"
[2020-11-10 14:32:22] ERROR Send Error: connect ECONNREFUSED 127.0.0.1:587
Error: connect ECONNREFUSED 127.0.0.1:587
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14) {
errno: 'ECONNREFUSED',code: 'ESOCKET',syscall: 'connect',address: '127.0.0.1',port: 587,command: 'CONN'
}
- 打开Gmail中的“安全性较低的应用”选项,并使用上述代码尝试连接到smtp.gmail.com。
- 在上面的代码中手动编辑端口号。
- 在上面的代码中打开和关闭安全模式。
- 在端口587、465以及其他几个端口上添加Windows Defender防火墙例外,只是为了好玩看看它们是否可以工作。
- 完全禁用Windows Defender防火墙。
- 在我的家庭网络上的其他计算机上运行代码。
- 检查“ netstat -an”以查看是否列出了端口587或465。它们不是,但是此端口是否一直打开或仅在需要时打开?这可能是问题吗?
任何人都对这里可能发生的事情有任何想法?我只是一个普通的家伙,使用他的家庭互联网连接编写一个小程序,每天向自己发送一封电子邮件警报。我的ISP可以阻止此事吗?
编辑-添加了一些我尝试过的无效的新东西:
- 传输选项“ ignoreTLS:是/否”(都尝试过)
- 传输选项“ requireTLS:true / false”(都尝试过)
解决方法
您正在创建两个运输车。
代替此:
let mailTransporter = nodemailer.createTransport(transport);
和
mailTransporter.sendMail()
执行以下操作:
transport.sendMail()
修改; let transport = nodemailer.createTransport({
成为; 让运输 = {
并删除右括号; }); 成为 };