2011-05-01 41 views
1

我想在nodejs中编写一个假的SMTP服务器,我只需要用它来发送通知邮件,但不会收到电子邮件。SMTP到SMTP协议

我看了一下node-smtp,但它只是实现了从客户端到SMTP服务器的协议,它没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器。

如果我知道一台SMTP服务器如何将邮件发送到另一台SMTP服务器,我想我可以在没有SMTP服务器的情况下发送邮件。

+0

“发送没有SMTP服务器的邮件”?如果不是服务器,你会在哪里发送它?邮件客户端不会收到SMTP(例如,POP3,IMAP,MAPI),因此您无法将其直接发送给客户端。无论如何,它们都使用拉式模式,客户端从服务器获取邮件,您需要将邮件发送到服务器。 – 2011-05-01 07:07:56

回答

1

但它只是实现了从客户端到SMTP服务器的协议,它没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器。

可以发送邮件的SMTP服务器也充当SMTP客户端。不是说你正在尝试写一个SMTP服务器:

我只是需要用它来发送通知邮件,但不会收到电子邮件。

又名

我只需要编写一个SMTP客户端

+0

我想我明白了。但是如果我与任何SMTP服务器通信,服务器请求会为我的用户进行身份验证,但是如果SMTP服务器充当SMTP客户端,它将不会告诉接收方SMTP服务器任何登录信息。如何解释它? – 2011-05-01 07:27:09

+0

请勿发送任何登录信息。 – 2011-05-01 07:32:26

+0

桂林它取决于服务器配置,现在他们要求进行身份验证,以防止将其用作垃圾邮件的中继服务器..但是当您与服务器交谈时,该服务器负责在要发送邮件的域中保存邮件,那么它将不会请求任何凭据 – tmg 2011-05-01 07:51:37

0

那么在短期是这样工作的:服务器发送读取收件人的域,并检查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
+0

感谢您的详细谈话。我看到了HELO MAIL RCPT DATA。 QUIT,但我没有看到任何东西From:To:Subject:你能给我更多的信息吗? – 2011-05-01 07:34:18

+0

这些不是命令,这些是标题,然后是空行和消息体和点。如果您不提供标题,则服务器将创建标题 – tmg 2011-05-01 07:47:47

相关问题