Node.js SMTP到SMTP协议

Node.js SMTP到SMTP协议,node.js,smtp,Node.js,Smtp,我试图写一个假的SMTP服务器在nodejs,我只需要使用它发送通知电子邮件,但不接收电子邮件 我已经看过了,但它只是实现了从客户端到SMTP服务器的协议,没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器 如果我知道一个SMTP服务器如何向另一个SMTP服务器发送邮件,我想我可以在没有SMTP服务器的情况下发送邮件 但它只实现了从客户端到SMTP服务器的协议,没有实现如何将邮件从SMTP服务器发送到另一个SMTP服务器 可以发送邮件的SMTP服务器还充当SMTP客户端。并不是说您正在

我试图写一个假的SMTP服务器在nodejs,我只需要使用它发送通知电子邮件,但不接收电子邮件

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

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

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

可以发送邮件的SMTP服务器还充当SMTP客户端。并不是说您正在尝试编写SMTP服务器:

我只需要使用它发送通知电子邮件,但不接收电子邮件

阿卡

我只需要写一个SMTP客户端

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

可以发送邮件的SMTP服务器还充当SMTP客户端。并不是说您正在尝试编写SMTP服务器:

我只需要使用它发送通知电子邮件,但不接收电子邮件

阿卡

我只需要写一个SMTP客户端


简而言之,它是这样工作的:服务器发送方读取收件人的域,并检查该域的DNS的MX记录(您可以像这样阅读——“嘿,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

简言之,它是这样工作的:服务器发送方读取收件人的域,并检查该域的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

你看过Marak的node_mailer吗

我在github网站上有一个分支,另一个分支用于gmail smtp支持


你看过马拉克的诺德·梅勒吗

我在github网站上有一个分支,另一个分支用于gmail smtp支持

我使用它,它实际上是一个用于创建SMTP服务器/客户端的框架,但是它非常适合测试

还有专门为测试而设计的,但是我没有使用它。

我使用它,它实际上是一个用于创建SMTP服务器/客户端的框架,但是它非常适合测试


还有专门为测试而设计的,但我没有使用。

“不使用SMTP服务器发送邮件”?如果不是服务器,您会将其发送到哪里?邮件客户端无法使用SMTP(例如POP3、IMAP、MAPI)接收邮件,因此您无法将其直接发送给客户端。他们使用拉模式,客户端从服务器获取邮件,您需要将邮件发送到服务器。“不使用SMTP服务器发送邮件”?如果不是服务器,您会将其发送到哪里?邮件客户端无法使用SMTP(例如POP3、IMAP、MAPI)接收邮件,因此您无法将其直接发送给客户端。他们使用拉模式,客户端从服务器获取邮件,你需要将邮件发送到服务器。我想我明白了。但是,如果我与任何SMTP服务器通信,服务器请求会对我的用户进行身份验证,但如果SMTP服务器充当SMTP客户端,它不会告诉接收方SMTP服务器任何登录信息。怎么解释呢?这取决于服务器配置,现在他们要求进行身份验证,以防止将其用作垃圾邮件的中继服务器。。但是,当您与负责在您要向其发送邮件的域中保存邮件的服务器交谈时,它不会要求任何凭据。您可以使用DNS和查询MX记录来确定权威SMTP服务器。我不明白。我刚刚成功地将一封邮件从本地主机发送到SMTP服务器,作为gmail帐户作弊。SMTP服务器是否应该检查邮件是否从正确的来源发送。我想我收到了。但是,如果我与任何SMTP服务器通信,服务器请求会对我的用户进行身份验证,但如果SMTP服务器充当SMTP客户端,它不会告诉接收方SMTP服务器任何登录信息。怎么解释呢?这取决于服务器配置,现在他们要求进行身份验证,以防止将其用作垃圾邮件的中继服务器。。但是,当您与负责在您要向其发送邮件的域中保存邮件的服务器交谈时,它不会要求任何凭据。您可以使用DNS和查询MX记录来确定权威SMTP服务器。我不明白。我刚刚成功地将一封邮件从本地主机发送到SMTP服务器,作为gmail帐户作弊。SMTP服务器是否应该检查邮件是否从正确的来源发送。谢谢您的详细讨论。我看到HELO邮寄了RCPT数据。退出,但我没有看到从:到:主题:你能给我更多的信息吗?这些不是命令,这些是标题,然后是空行和消息体和点。若你们并没有给出标题,那个么服务器将创建一个标题,感谢你们的详细讨论。我看到HELO邮寄了RCPT数据。退出,但我没有看到从:到:主题:你能给我更多的信息吗?这些不是命令,这些是标题,然后是空行和消息体和点。若你们并没有给出标题,那个么服务器将创建一个标题