NodeMailer: Error: Connection timeout
NodeMailer: Error: Connection timeout
我正在使用 NodeMailer 发送电子邮件。我已经成功地使用我的 gmail 帐户发送电子邮件。我刚刚通过 Godaddy 切换到我的域自定义电子邮件。此电子邮件通过 hotmail 运行。既然我已经做了这个切换,我每次都会收到错误:连接超时。 Gmail 仍然有效,但我无法使用 hotmail。
关于如何解决这个问题有什么建议吗?是否有更好的电子邮件选择可用于 NodeMailer?
这是我的设置:
var smtpTrans = nodemailer.createTransport({
service: 'hotmail',
auth: {
user: 'contact@my-domain.com',
pass: '*********'
}
});
var mailOptions = {
to: rental.createdbyemail,
from: 'email',
subject: 'Your apartment was just rented!',
text: 'my email'
};
smtpTrans.sendMail(mailOptions, function(err) {
console.log('email sent')
if (err){
console.log(err)
} else {
// res.redirect('/')
}
});
}
});
经过一些研究,看起来使用像 SendGrid 这样的专用电子邮件系统是可行的方法。看看这个 guide
代码设置:
// emailer.js
const nodemailer = require('nodemailer');
const sendgridTransport = require('nodemailer-sendgrid-transport');
// Configure Nodemailer SendGrid Transporter
const transporter = nodemailer.createTransport(
sendgridTransport({
auth: {
api_user: process.env.SENDGRID_API_USER, // SG username
api_key: process.env.SENDGRID_API_PASSWORD, // SG password
},
})
);
// Create Email Options
const options = {
to: <to_email@domain.com>,
from: <from_email@domain.com>, // Totally up to you
subject: <email_subject>,
html: <html_body>, // For sending HTML emails
};
// Send Email
transporter.sendEmail(options, (err, resp) => {
if (err) {
// handle error
} else {
// handle success
}
});
我正在使用 NodeMailer 发送电子邮件。我已经成功地使用我的 gmail 帐户发送电子邮件。我刚刚通过 Godaddy 切换到我的域自定义电子邮件。此电子邮件通过 hotmail 运行。既然我已经做了这个切换,我每次都会收到错误:连接超时。 Gmail 仍然有效,但我无法使用 hotmail。
关于如何解决这个问题有什么建议吗?是否有更好的电子邮件选择可用于 NodeMailer?
这是我的设置:
var smtpTrans = nodemailer.createTransport({
service: 'hotmail',
auth: {
user: 'contact@my-domain.com',
pass: '*********'
}
});
var mailOptions = {
to: rental.createdbyemail,
from: 'email',
subject: 'Your apartment was just rented!',
text: 'my email'
};
smtpTrans.sendMail(mailOptions, function(err) {
console.log('email sent')
if (err){
console.log(err)
} else {
// res.redirect('/')
}
});
}
});
经过一些研究,看起来使用像 SendGrid 这样的专用电子邮件系统是可行的方法。看看这个 guide
代码设置:
// emailer.js
const nodemailer = require('nodemailer');
const sendgridTransport = require('nodemailer-sendgrid-transport');
// Configure Nodemailer SendGrid Transporter
const transporter = nodemailer.createTransport(
sendgridTransport({
auth: {
api_user: process.env.SENDGRID_API_USER, // SG username
api_key: process.env.SENDGRID_API_PASSWORD, // SG password
},
})
);
// Create Email Options
const options = {
to: <to_email@domain.com>,
from: <from_email@domain.com>, // Totally up to you
subject: <email_subject>,
html: <html_body>, // For sending HTML emails
};
// Send Email
transporter.sendEmail(options, (err, resp) => {
if (err) {
// handle error
} else {
// handle success
}
});