Dns SMTP服务器使用hmailserver。无法将主机解析为类型

Dns SMTP服务器使用hmailserver。无法将主机解析为类型,dns,hmail-server,Dns,Hmail Server,我正在尝试创建本地SMTP服务器。我根据以下内容配置了所有内容: 在那之后,我运行了我的诊断程序,它显示主机(在我的情况下,noreply@bufferoverflow.com)无法解决。我在谷歌上搜索并阅读了hmailserver的文档和问题部分,发现我的机器上缺少DNS配置 我根据本文将DNS ip设置为: 127.0.0.1 bufferoverflow.com 在我的 C:\Windows\System32\drivers\etc>notepad hosts.ics 它仍然说主机无法解析

我正在尝试创建本地SMTP服务器。我根据以下内容配置了所有内容:

在那之后,我运行了我的诊断程序,它显示主机(在我的情况下,noreply@bufferoverflow.com)无法解决。我在谷歌上搜索并阅读了hmailserver的文档和问题部分,发现我的机器上缺少DNS配置

我根据本文将DNS ip设置为:

127.0.0.1 bufferoverflow.com

在我的

C:\Windows\System32\drivers\etc>notepad hosts.ics

它仍然说主机无法解析为类型。我试着看看端口是否真的打开并正在监听。因此,我在CMD中执行了以下命令:

netstat-a

它在听。我仔细检查了所有的东西,但找不到哪里出了问题。我创建了一个简单的nodejs服务器,将其托管在localhost的端口80上,并在浏览器中键入“bufferoverflow.com”,它打开了127.0.0.1,也称为localhost,这是因为它具有我给出的ip域映射


现在我不明白为什么主机名无法解析。我的DNS很酷。一切都按照文档所述进行配置,端口也处于打开和侦听状态。请帮帮我。

因此,根据您所说的,您创建了自己的SMTP服务器,这很好,值得学习,但我建议使用SendinBlue第三方服务免费并每天为您发送300封邮件

开始使用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>
sendinBlue\uu登录=
发送蓝色键=
在您要发送电子邮件的文件中

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'});

   })

})
const nodemailer=require('nodemailer');
router.post('/api/email',(请求、响应)=>{
const transporter=nodemailer.createTransport({
服务:'SendinBlue',
认证:{
用户:process.env.sendinBlue\uu登录,
通过:process.env.sendinBlue\u键
}
})
常量邮件选项={
发件人:process.env.sendinBlue\uu登录
致:'example@gmail.com',
主题:'订单确认',
html:`
确认您收到的订单
`
}
transporter.sendMail(邮件选项,(错误,信息)=>{
如果(错误){
console.log(错误);
返回response.status(500).json({msg:“电子邮件发送失败,可能是网络问题或SMTP未激活”});
}
返回reponse.status(200).json({msg:'Email sent'});
})
})
  • 现在这就是简单的sendinBlue的工作原理,只需简单的注册和帐户激活,如果未通过get go by email客户支持激活,也可以通过SMTP激活
如果上面的指南对您没有意义:无耻插头

  • 你可以去查看我的视频,我使用了sendinBluenodemailer一起发送电子邮件结尾有点晚了

  • 链接:

如果您想使用noreply@domain.com使用sendinBlue,您甚至不必激活电子邮件,但仍然可以发送

  • 你如何处理这件事就是你设计邮件选项的方式
router.get(“/api/test)”,(请求、响应)=>{
const transport=nodemailer.createTransport({
服务:“SendinBlue”,
认证:{
用户:process.env.sendinBlue\uu电子邮件,
通过:process.env.sendinBlue\u键,
},
});
常量邮件选项={
来自:noreply@Test.com",
至:juniorWebProjects@gmail.com",
主题:“确认订单”,
html:`
收到订单
`,
};
Transporter.sendMail(邮件选项,(错误,信息)=>{
如果(错误){
返回console.log(err);
}
返回控制台日志(“已发送消息”);
});
});
  • 请参见我的邮件选项,我明确地为自己写下了我想要的电子邮件,当sendinBlue发送该电子邮件时,接收者将看到来自noreply@Test.com

什么是“我的诊断工具”?在《设置指南》中,最后一句话是检查服务器是否实际运行,以及一切是否正常。就像一张假支票。这是诊断窗口。看看文章中的图片。嘿,你一定要用这个吗?我可以带你通过一个简单的步骤无错误有一个现成的SMTP有时你必须要求激活+它是免费的300英里一天,你可以发送没有先生,我想从我的服务器发送邮件。我知道了诺德的事。我创建了一个不太安全的谷歌账户,并实现了这一点。但是我需要来自我的自定义域的邮件,比如,noreply@mydomain.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");
  });
});