如何通过 telnet 直接与 SMTP 服务器通信来发送邮件?

Abh*_*ogi 0 networking linux telnet email smtp

如何使用 telnet 与 SMTP 服务器通信,以便发送邮件?

 telnet smtp.something.somewhere 53 Trying
 10.xxx.xxx.xxx... 
 Connected to smtp.something.somewhere.
 Escape character is '^]'.
Run Code Online (Sandbox Code Playgroud)

这就是我得到的。之后我该怎么办?

在“HELO”之后我必须写什么?

Ric*_*d T 6

这是一件非常重要的事情,能够做并且已经好几次救了我的培根!

对所有投票否决这个问题的人来说,FOOEY!请注意:我指的是技术问题,而不是动机。例如,能够做到这一点对于测试系统很重要。启动系统并因此能够使用基于 Web 的自动化开放中继测试站点并不总是可行的。

你还说,“我其实很想知道我自己怎么做……”

好吧,首先要指出的是,有一个关于这个的 RFC - 官方规范,你可以找到它并拥有你需要的所有数据。

以下是一些基础知识:

1) $ telnet **domain.address** 25

(25 是标准端口,但可以设置为其他端口)

2)EHLO **your.domain**

HELO **your.domain**
Run Code Online (Sandbox Code Playgroud)

3) MAIL FROM: **your.email@address**

4) RCPT TO: **destination@email.address**

5)**DATA** 现在您可以输入您的信息了。

6) 您现在可以选择输入如下主题行:

**Subject:** whatever your subject line is
**carrage_return**
**carrage_return**
Run Code Online (Sandbox Code Playgroud)

(对此没有回应)

7)完成后,以:

**carrage_return**.**carrage_return**
Run Code Online (Sandbox Code Playgroud)

(换句话说,新行、句点、新行。)

6) 您现在可以输入发往同一服务器的新邮件消息,或者您可以输入以下内容退出:

**QUIT**
Run Code Online (Sandbox Code Playgroud)