所以我一直在寻找关于StackOverflow问题的几个答案,阅读博客,观看教程......而且我没有幸运尝试使用Gmail通过SMTP发送电子邮件使用Gmail来响应HTTP请求。我已经注册付款并尝试使用像Mailgun这样的第三方,我也有问题。以下是我使用Gmail SMTP时遇到的错误。
{ Error: connect ETIMEDOUT 173.194.74.17:465
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ECONNECTION',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: '173.194.74.17',
port: 465,
command: 'CONN' }
这是我目前正在使用的代码:
var transporter = nodemailer.createTransport('smtps://[email protected]:password')
function sendTestEmail(user) {
ref.child('users').child(user).once('value').then(snap => {
console.log(snap.val()["Email"])// will be 'email' when looking at angels and not users
const mailOptions = {
from: '"The Angel App" <[email protected]>',
bcc: snap.val()['Email'],
subject: "This is a test for missed checkins",
text: "Testing the cloud functions"
}
return transporter.sendMail(mailOptions).then(() => {
console.log("email sent to ", user)
return "email sent"
}).catch(error => {
console.log(error)
})
}).catch(error => {
console.log(error)
})
我也做了:
// const transporter = nodemailer.createTransport({
// host: 'smtp.gmail.com',
// port: 465,
// secure: true,
// auth: {
// user: '[email protected]',
// pass: 'password'
// }
// })
起初我收到一封来自Gmail的反欺诈电子邮件说,如果是我,应用程序正在尝试登录并编辑我的设置。所以我做了。任何见解都会很棒。
所以我决定尝试不同的东西,并通过zoho创建了一个企业电子邮件,它的工作原理。我做了运输车:
const transporter = nodemailer.createTransport({
host: 'smtp.zoho.com',
port: 465,
secure: true,
auth: {
user: '[email protected]',
pass: 'password'
}
})
我必须在sendTestEmail函数中进行的重要更改是在
From
行中
function sendTestEmail(user) {
ref.child('users').child(user).once('value').then(snap => {
console.log(snap.val()["Email"])// will be 'email' when looking at angels and not users
const mailOptions = {
from: '"The Angel App" <[email protected]>',
bcc: snap.val()['Email'],
subject: "This is a test for missed checkins",
text: "Testing the cloud functions"
}
return transporter.sendMail(mailOptions).then(() => {
console.log("email sent to ", user)
return "email sent"
}).catch(error => {
console.log(error)
})
}).catch(error => {
console.log(error)
})