使用 hmailserver 的 SMTP 服务器。主机无法解析为类型
SMTP server using hmailserver. Host cannot be resolved to a type
我正在尝试创建本地 SMTP 服务器。我根据这个配置了一切:Link to set-up hmailserver
在那之后,我 运行 我的诊断程序,它说主机(在我的情况下,noreply@bufferoverflow.com)无法解析。我用谷歌搜索并阅读了 hmailserver Docs 的文档和问题部分,发现我的机器上缺少 DNS 配置。
我按照这篇文章将 DNS ip 设置为名称:How to add ip domain mapping in windows
127.0.0.1 bufferoverflow.com
我的
C:\Windows\System32\drivers\etc>notepad hosts.ics
它仍然说主机无法解析为类型。我试图查看该端口是否真的打开并正在侦听。所以我在 CMD 中执行了这个命令:
netstat -a
它在听。我仔细检查了所有内容,但找不到我哪里出错了。我创建了一个简单的 nodejs 服务器并将其托管在本地主机的端口 80 上,并在我的浏览器中输入“bufferoverflow.com”,它打开了 127.0.0.1 aka localhost,这是因为它具有我提供的 ip 域映射。
现在我不知道为什么无法解析主机名。我的 DNS 很酷。 Everthing 的配置如文档所述,端口也已打开并正在侦听。请帮助我。
所以根据你所说的,你创建了自己的 SMTP 服务器,这很好,值得学习,但我建议使用 SendinBlue 第 3 方服务 免费 并给你 300 mails/day
sendinblue 入门:
-
去免费创建一个帐户,直到你决定付款,你会在那里阅读
一旦您的帐户设置完毕并经常激活,某个帐户的 SMTP 服务不会自动激活,因此您必须向他们发送电子邮件,他们会在 24 小时内回复 我喜欢服务(我不是在宣传或赞助炒作他们或任何只是说出我所经历的真相)。
现在您的帐户和 SMTP 服务已激活,现在问题是您如何使用 sendinBlue?
在您右上角的仪表板中,您会看到您的用户名
点击它,应该会出现一个下拉菜单
然后你想去 SMTP & API
然后您将看到一个菜单,左侧有 API 键 和 SMTP右边
您要点击 SMTP。
一旦你会看到登录那将是你注册的电子邮件,你会看到主密码 现在这就是您用来验证自己的方式。
实施:现在您已经对所有内容进行了排序,您知道密钥和登录位置
在 .env 文件中
sendinBlue__login=<Your email that your saw in that smtp tab>
sendinBlue__key= <Key you saw in that smtp tab>
在您要发送电子邮件的文件中
const nodemailer = require('nodemailer');
router.post('/api/email', (request, response)=>{
const transporter = nodemailer.createTransport({
service:'SendinBlue',
auth:{
user:process.env.sendinBlue__login,
pass:process.env.sendinBlue__key
}
})
const mailOptions = {
from:process.env.sendinBlue__login
to:'example@gmail.com',
subject:'Order confirmation',
html:`
<h1>Confirmation of your received order</h1>
`
}
transporter.sendMail(mailOptions, (error, info)=>{
if (error){
console.log(error);
return response.status(500).json({msg:"Email failed to send probably network problems or SMTP not activated"});
}
return reponse.status(200).json({msg:'Email sent'});
})
})
- 现在这就是 sendingBlue 工作的简单方式,只需简单的注册和帐户激活,如果未通过电子邮件客户支持激活,还可以激活 SMTP
如果上面的指南对你没有意义:无耻插件
你可以去看看我做的视频,我使用 sendinBlue 和 nodemailer 来发送电子邮件 这是一个最后一点
-
现在,如果您想使用带有 sendinBlue 的 noreply@domain.com 发送电子邮件,您甚至不必激活电子邮件,但仍然可以发送
- 你如何处理这就是你设计邮件选项的方式
router.get("/api/test", (request, response) => {
const transpoter = nodemailer.createTransport({
service: "SendinBlue",
auth: {
user: process.env.sendinBlue__email,
pass: process.env.sendinBlue__key,
},
});
const mailOptions = {
from: "noreply@Test.com",
to: "juniorWebProjects@gmail.com",
subject: "Confirmation Order",
html: `
<h1>Order Received</h1>
`,
};
transpoter.sendMail(mailOptions, (err, info) => {
if (err) {
return console.log(err);
}
return console.log("Message sent");
});
});
- 在我的 mailOptions 上看到我明确地给自己写了我想要的电子邮件,当 sendinBlue 发送该电子邮件时,收件人会看到它来自 noreply@Test.com
我正在尝试创建本地 SMTP 服务器。我根据这个配置了一切:Link to set-up hmailserver
在那之后,我 运行 我的诊断程序,它说主机(在我的情况下,noreply@bufferoverflow.com)无法解析。我用谷歌搜索并阅读了 hmailserver Docs 的文档和问题部分,发现我的机器上缺少 DNS 配置。
我按照这篇文章将 DNS ip 设置为名称:How to add ip domain mapping in windows
127.0.0.1 bufferoverflow.com
我的
C:\Windows\System32\drivers\etc>notepad hosts.ics
它仍然说主机无法解析为类型。我试图查看该端口是否真的打开并正在侦听。所以我在 CMD 中执行了这个命令:
netstat -a
它在听。我仔细检查了所有内容,但找不到我哪里出错了。我创建了一个简单的 nodejs 服务器并将其托管在本地主机的端口 80 上,并在我的浏览器中输入“bufferoverflow.com”,它打开了 127.0.0.1 aka localhost,这是因为它具有我提供的 ip 域映射。
现在我不知道为什么无法解析主机名。我的 DNS 很酷。 Everthing 的配置如文档所述,端口也已打开并正在侦听。请帮助我。
所以根据你所说的,你创建了自己的 SMTP 服务器,这很好,值得学习,但我建议使用 SendinBlue 第 3 方服务 免费 并给你 300 mails/day
sendinblue 入门:
去免费创建一个帐户,直到你决定付款,你会在那里阅读
一旦您的帐户设置完毕并经常激活,某个帐户的 SMTP 服务不会自动激活,因此您必须向他们发送电子邮件,他们会在 24 小时内回复 我喜欢服务(我不是在宣传或赞助炒作他们或任何只是说出我所经历的真相)。
现在您的帐户和 SMTP 服务已激活,现在问题是您如何使用 sendinBlue?
在您右上角的仪表板中,您会看到您的用户名
点击它,应该会出现一个下拉菜单
然后你想去 SMTP & API
然后您将看到一个菜单,左侧有 API 键 和 SMTP右边
您要点击 SMTP。
一旦你会看到登录那将是你注册的电子邮件,你会看到主密码 现在这就是您用来验证自己的方式。
实施:现在您已经对所有内容进行了排序,您知道密钥和登录位置
在 .env 文件中
sendinBlue__login=<Your email that your saw in that smtp tab>
sendinBlue__key= <Key you saw in that smtp tab>
在您要发送电子邮件的文件中
const nodemailer = require('nodemailer');
router.post('/api/email', (request, response)=>{
const transporter = nodemailer.createTransport({
service:'SendinBlue',
auth:{
user:process.env.sendinBlue__login,
pass:process.env.sendinBlue__key
}
})
const mailOptions = {
from:process.env.sendinBlue__login
to:'example@gmail.com',
subject:'Order confirmation',
html:`
<h1>Confirmation of your received order</h1>
`
}
transporter.sendMail(mailOptions, (error, info)=>{
if (error){
console.log(error);
return response.status(500).json({msg:"Email failed to send probably network problems or SMTP not activated"});
}
return reponse.status(200).json({msg:'Email sent'});
})
})
- 现在这就是 sendingBlue 工作的简单方式,只需简单的注册和帐户激活,如果未通过电子邮件客户支持激活,还可以激活 SMTP
如果上面的指南对你没有意义:无耻插件
你可以去看看我做的视频,我使用 sendinBlue 和 nodemailer 来发送电子邮件 这是一个最后一点
现在,如果您想使用带有 sendinBlue 的 noreply@domain.com 发送电子邮件,您甚至不必激活电子邮件,但仍然可以发送
- 你如何处理这就是你设计邮件选项的方式
router.get("/api/test", (request, response) => {
const transpoter = nodemailer.createTransport({
service: "SendinBlue",
auth: {
user: process.env.sendinBlue__email,
pass: process.env.sendinBlue__key,
},
});
const mailOptions = {
from: "noreply@Test.com",
to: "juniorWebProjects@gmail.com",
subject: "Confirmation Order",
html: `
<h1>Order Received</h1>
`,
};
transpoter.sendMail(mailOptions, (err, info) => {
if (err) {
return console.log(err);
}
return console.log("Message sent");
});
});
- 在我的 mailOptions 上看到我明确地给自己写了我想要的电子邮件,当 sendinBlue 发送该电子邮件时,收件人会看到它来自 noreply@Test.com