我想在nodejs中编写一个假的SMTP服务器,我只需要用它来发送通知邮件,但不会收到电子邮件。SMTP到SMTP协议
我看了一下node-smtp,但它只是实现了从客户端到SMTP服务器的协议,它没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器。
如果我知道一台SMTP服务器如何将邮件发送到另一台SMTP服务器,我想我可以在没有SMTP服务器的情况下发送邮件。
我想在nodejs中编写一个假的SMTP服务器,我只需要用它来发送通知邮件,但不会收到电子邮件。SMTP到SMTP协议
我看了一下node-smtp,但它只是实现了从客户端到SMTP服务器的协议,它没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器。
如果我知道一台SMTP服务器如何将邮件发送到另一台SMTP服务器,我想我可以在没有SMTP服务器的情况下发送邮件。
但它只是实现了从客户端到SMTP服务器的协议,它没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器。
可以发送邮件的SMTP服务器也充当SMTP客户端。不是说你正在尝试写一个SMTP服务器:
我只是需要用它来发送通知邮件,但不会收到电子邮件。
又名
我只需要编写一个SMTP客户端
我想我明白了。但是如果我与任何SMTP服务器通信,服务器请求会为我的用户进行身份验证,但是如果SMTP服务器充当SMTP客户端,它将不会告诉接收方SMTP服务器任何登录信息。如何解释它? – 2011-05-01 07:27:09
请勿发送任何登录信息。 – 2011-05-01 07:32:26
桂林它取决于服务器配置,现在他们要求进行身份验证,以防止将其用作垃圾邮件的中继服务器..但是当您与服务器交谈时,该服务器负责在要发送邮件的域中保存邮件,那么它将不会请求任何凭据 – tmg 2011-05-01 07:51:37
那么在短期是这样工作的:服务器发送读取收件人的域,并检查MX记录的DNS该域名(你可以看到它 - “嘿DNS告诉我,哪个服务器保存该域的邮件)然后它连接到远程SMTP并给出消息。 对话可能是这样的:
client: HELLO server
server: 250 hello client, nice to meet you
client: MAIL FROM: tmg
server: 250 ok
client: RCPT TO: guilin
server: 250 ok
client: data
server: 354 Enter message, ending with "." on a line by itself
client: From: tmg
client: To: guilin
client: Subject: just a mail
client:
client: message body
client: .
server: 250 ok
client: quit
server: good bye
感谢您的详细谈话。我看到了HELO MAIL RCPT DATA。 QUIT,但我没有看到任何东西From:To:Subject:你能给我更多的信息吗? – 2011-05-01 07:34:18
这些不是命令,这些是标题,然后是空行和消息体和点。如果您不提供标题,则服务器将创建标题 – tmg 2011-05-01 07:47:47
你看过Marak的node_mailer了吗?
https://github.com/Marak/node_mailer
我对它有叉,和另外一个,在我的github上的网站,对于Gmail的支持SMTP
我用https://github.com/andris9/simplesmtp,它实际上是一个用于创建SMTP框架服务器/客户端,但它非常适合测试。
还有专为测试而设计的https://github.com/deitch/smtp-tester,但我没有用过它。
“发送没有SMTP服务器的邮件”?如果不是服务器,你会在哪里发送它?邮件客户端不会收到SMTP(例如,POP3,IMAP,MAPI),因此您无法将其直接发送给客户端。无论如何,它们都使用拉式模式,客户端从服务器获取邮件,您需要将邮件发送到服务器。 – 2011-05-01 07:07:56