HOME> 在线世界杯> 搭建一个本地 SMTP 服务器

搭建一个本地 SMTP 服务器

2025-12-19 20:00:17

由于 SMTP 服务器的开放端口和安全性问题,许多现代邮件服务器不再允许直接通过 Telnet 连接到标准的 25 端口发送邮件,尤其是未经认证的用户。因此,许多公共电子邮件服务商如 Gmail、Yahoo 等也禁用了这种方式,转而要求使用更安全的加密连接,如通过 SSL/TLS 连接发送邮件。

不过,如果你有权限使用某个 SMTP 服务器(比如你自己公司的邮件服务器或本地服务器),你可以联系你的邮件服务器管理员获取服务器的名称和端口号,确保你可以通过 Telnet 进行实验。

如果你想自己搭建一个本地 SMTP 服务器

你可以在本地机器上运行一个简单的 SMTP 服务器,用来进行 Telnet 测试。以下是一些常用工具和步骤:

1. 使用 Python 自带的 SMTP 服务器

如果你使用的是 Linux 或 macOS,甚至 Windows,并且安装了 Python,可以通过以下命令在本地启动一个简单的 SMTP 服务器:

python -m smtpd -c DebuggingServer -n localhost:1025

这会启动一个运行在本地 localhost 上的 SMTP 服务器,监听 1025 端口。

2. 连接到本地 SMTP 服务器

启动后,你可以通过以下 Telnet 命令连接到本地 SMTP 服务器:

telnet localhost 1025

连接成功后,你就可以按照之前的步骤发送邮件了。

请确保严格按照以下步骤来发送邮件:

完整的 SMTP 命令顺序:

HELO 命令(服务器问候):

HELO mydomain.com

MAIL FROM 命令(指定发件人):

MAIL FROM:

RCPT TO 命令(指定收件人):

RCPT TO:

DATA 命令(准备发送邮件内容):

DATA

输入邮件内容:

在服务器提示 354 Enter message, end with "." on a line by itself 后,输入邮件正文,最后用一个单独的句号 . 结束邮件内容:

Subject: Test Email

Hello,

This is a test email sent via Telnet and Python SMTP server.

.

QUIT 命令(结束会话):

QUIT

示例流程:

telnet localhost 1025

220 uavris-Lenovo-Legion-Y7000P2020 Python SMTP proxy version 0.2

HELO mydomain.com

250 Hello mydomain.com, pleased to meet you

MAIL FROM:

250 Sender OK

RCPT TO:

250 Recipient OK

DATA

354 Enter message, end with "." on a line by itself

Subject: Test Email

Hello,

This is a test email sent via Telnet and Python SMTP server.

.

250 Message accepted for delivery

QUIT

221 Goodbye

关键点:

在 MAIL FROM 之后一定要先用 RCPT TO 指定收件人,才能执行 DATA 命令。

Dubbo(从入门到掌握)看完这一篇就够了
备忘录在电脑里叫什么?Win10系统自带的备忘录在哪打开?