使用Telnet程序手工发送邮件

本文介绍如何使用Windows自带的Telnet程序发送邮件,通过实践掌握基本的SMTP命令,包括ehlo、authlogin、mailfrom、rcptto、data和quit等,以及在不同邮箱服务器上进行身份验证的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我们都习惯了用邮件客户端软件或者登录到电子邮件站点进行收发邮件,现在尝试一下使用 Windows 自带的 Telnet 程序手工地发送一封简单的邮件,以此来稍微明白关于邮件发送的一些知识。

  现在 E-mail 的传输一般都使用了 ESMTP (扩展的简单邮件传输协议),SMTP 中定义了 18 条命令,用于发送一封邮件。但是作为一个测试实验的话,我们只需要其中最基本的6条命令。

  如下(其中的代表一个空格,代表回车加换行,即写代码时的 \r\n ):

  ehlo主机名

  SMTP 邮件发送程序与SMTP邮件接收程序建立连接的第一条必须的命令,主机名是当前邮件发送者的主机名;

  authlogin

  现在一般的邮箱都需要进行用户名、密码验证,而且SMTP 邮件服务器一般都使用 Login 验证方式http://guanghanfuzhuang.com,因此就不用考虑其他两种验证方式了;

  mailfrom:发送人邮箱地址

  从命令中很明显地看出来 mail 命令用于指定邮件发送者的邮箱地址;

  rcptto:收件人邮箱地址

  同理,rcpt 命令用于指定邮件接收人的邮箱地址;

  data

  data 命令用于表示该命令之后的所有内容、数据都将被作为邮件的相关内容,直到遇到.标识符,即一个句号“.”结束邮件的发送内容;

  quit

  该命令结束邮件发送过程,关闭本机与SMTP 邮件服务器的网络连接。

  在该测试中,sducc1123我在mail.163.com 和 mail.sina.com 分别注册了 test_hao@163.com 和 test_hao@sina.cn 两个邮箱,密码都是 123456 。由于这两个邮件服务器都需要进行用户名、密码进行身份验证,而且需要将我们的用户名、密码进行 BASE64 编码之后在进行发送验证,故我们使用 Java 中的 sun.misc.BASE64Encoder 类写一个 BASE64 转码程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值