`
落花虽有意
  • 浏览: 185636 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

用telnet命令发送邮件

阅读更多

邮件的发送是基于smtp协议的。邮件客户端软件给smtp服务器传送邮件和smtp服务器之间传送邮件也都是基于smtp协议的。邮件客户端软件接受邮件是主要基于pop3协议的。

 

下面介绍利用windows命令telnet 基于smtp协议发送邮件。

这里是用sina油箱(错别字我可不想改了,明白就行了),其他油箱会存在这样或那样的小问题,而我的目标很简单,只是想尽快用telnet命令发送一封邮件感受一下。最开始试了 163的油箱,不过输入用户名密码后会响应:550 用户被锁定,很显然需要花时间去解决这个问题,虽然网上随便一查就会有一大堆解决办法,至于真假我没去试过,因为我现在的目标这个。后来也试了 gmail油箱,不过它的响应和书上的有点出入,所以也放弃了,最后选择了sina油箱,当然我也是新申请的。

 

这里用到smtp协议的6个命令。6个命令就能发送邮件,有点不可思议。下面列举出所有:

ehlo    见面当然得打招呼了,后面接任意名字

AUTH    选择输入用户名密码的方式,sina的需要进行 base64 编码,后面将有转化的类提供,很简单

mail from:    说明邮件来自哪里,不一定为邮件地址,不过最好还是写成正确的email地址

rcpt to:    说明邮件发送到哪里,一定要为正确的email地址

data    发送的正文,结束为:回车,.,回车。即两个回车中间一个点

quit    断开连接

 

下面是对字符串进行 base64 编码的类:

package sh.base64Encode;

import sun.misc.BASE64Encoder;

public class Base64Encoder {
	
	public static String encode(String str)
	{
		return new BASE64Encoder().encode(str.getBytes());
	}
	
	public static void main(String[] sh)
	{
		String name = "youmailname";	// email地址,不用 @以及后面的,如:name = "studymail";
		String psw = "youmailpassword";	// email密码
		
		System.out.println(encode(name));
		System.out.println(encode(psw));
	}
}

 

 

上面的类输出的则是验证身份时需要用到的。下面正式开始了

 

1,打开windows命令窗口,键入:telnet smtp.sina.com.cn 25

       smtp.sina.com.cn 是sina邮件服务器,25 是服务器的端口号,

       成功连接的响应为:220 smtp.sina.com.cn ESMTP SINAMAIL <postfix Rules!>,

       前面的 220 即为响应码,只要它是 220 就表示成功连接了,

       其中的 ESMTP 表示 扩展SMTP协议,

 

2,成功连接后就想服务器打招呼吧,

       键入:ehlo cup

       上面的 cup 可以换成别的字符串,成功响应如下图:

 

 

看到上图里面有提示有哪些验证方式,有 LOGIN,即表示用户名和密码将需要进行 base64编码。

 

3,选择验证方式,这里选择上面的 LOGIN,

      键入:AUTH LOGIN

      成功后将响应:334

      334 表示命令未完成,后面接着输入编码后的email用户名,回车,将又响应:334,再输入编码后的密码,回车,这次如果验证通过将响应:235 。

 

4,输入发件人,

      键入:mail from: <studyjavamail@sina.com>

      成功将响应:250 Ok

      发件人最好写成正确的email地址,因为一般邮件服务器也会验证的

 

5,输入收件人,

      键入:rcpt to: <studyjavamail@sina.com>

      成功将响应:250 Ok

      收件人必须是正确的email地址,

      并且可以输入多个 rcpt to 命令,将同时给多个email地址发送邮件

 

6,写邮件内容,

      键入:data (+ 内容),以 回车 .  回车 结束内容的书写,

     

7,断开连接,

      键如:quit

 

8,赶紧登陆邮箱看看吧,看是否真收到了,反正我是收到了的,呵呵

 

最后的完整截图如下,你可别想着用那邮箱哦,改密码了,呵呵,

1
0
分享到:
评论
2 楼 genggeng 2012-10-09  
printf email | base64

printf password | base64
1 楼 nemowu 2008-06-18  
呵呵,我也干过这种事情。
不过base64编码的确是防君子不防小人的做法,还是没理解smtp协议为什么选择这种编码。
我去年3月我试过163的邮箱,几年前的旧账号可以,新注册连不上。可能做了限制。
另外,免费邮箱有它的安全机制,单位时间内发送邮件次数有限,不要指望用它来批量发邮件,嘻嘻:)

相关推荐

    用Telnet命令收发邮件(SMTP和POP3协议)实验报告.docx

    本实验报告介绍了使用Telnet命令收发邮件的实验过程,包括使用SMTP协议发送邮件和使用POP3协议收邮件的实验步骤。 SMTP协议发送邮件 SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端...

    10172911梁天一用Telnet命令收发邮件(SMTP和POP3协议)实验报告.docx

    - 使用`HELO`命令发送问候信息,通常会包含发件人的主机名或IP地址。例如:`HELO localhost` - 若成功,服务器会返回`250`状态码。 3. **身份验证** - 输入`AUTH LOGIN`命令以开启身份验证过程。 - 服务器返回...

    用Telnet发送邮件

    在使用 Telnet 发送邮件时,需要使用以下六条命令: 1. ehlo &lt;domain&gt;:ehlo 命令是 SMTP 邮件发送程序与 SMTP 邮件接收程序建立连接后必须发送的第一条 SMTP 命令。参数 &lt;domain&gt; 表示 SMTP 邮件发送者的主机名。 ...

    使用telnet发邮件

    ### 使用Telnet发送邮件知识点详解 #### Telnet与SMTP简介 - **Telnet**:是一种用于远程登录的服务协议,允许用户通过网络连接到其他主机上并进行操作。在本例中,我们使用Telnet来模拟客户端与邮件服务器之间的...

    Telnet 发送邮件

    【标题】:“Telnet发送邮件”是一个关于使用Telnet客户端工具发送电子邮件的技术主题。在IT领域, Telnet是一种远程访问协议,允许用户通过Internet连接到其他计算机系统。在这个场景下,我们将探讨如何利用Telnet...

    telnet的rpm包

    2. **工作原理**:`telnet`客户端发送一个连接请求到远程主机的特定端口(通常是23),一旦建立连接,用户输入的命令会直接发送到远程服务器,服务器的响应则显示在本地终端上。 3. **安全问题**:由于`telnet`通信...

    使用telnet协议来收发邮件(SMTP和POP3) q.docx

    1. **连接**:邮件客户端使用telnet命令连接到SMTP服务器,例如`telnet smtp.sina.com 25`。 2. **HELO/EHLO**:客户端发送`EHLO`或`HELO`命令,告知服务器它的身份。`EHLO`是SMTP扩展,提供了更多功能,如身份验证...

    易语言源码易语言Telnet POP邮件接收源码.rar

    在本压缩包“易语言源码易语言Telnet POP邮件接收源码.rar”中,包含的是使用易语言编写的源代码,用于实现通过Telnet协议和POP3协议接收邮件的功能。下面我们将详细探讨这两个关键概念以及其在源码中的应用。 1. *...

    telnet下载commont net下载

    在具体的使用过程中,对于Telnet功能,开发者可以通过`org.apache.commons.net.telnet.TelnetClient`类来创建一个客户端实例,然后连接到远程服务器。该类提供了设置终端类型、发送数据、读取响应等方法。例如: ``...

    使用PHP通过SMTP发送邮件

    接着,按照SMTP协议的命令进行操作,如`MAIL FROM:`指定发件人邮箱,`RCPT TO:`指定收件人邮箱,`DATA`发送邮件内容,最后`QUIT`退出连接。 在PHP中实现SMTP邮件发送,我们可以借助于一些预先封装好的库,如PEAR::...

    基于Socket的Telnet服务设计与实现

    远程登录是指用户使用Telnet命令,使自己的计算机成为远程主机的一个仿真终端的过程。 二、基于Socket的Telnet服务设计 基于Socket套接口,实现Telnet服务的设计可以分为三部分:初始化连接、监听网络信息收发数据...

    telnet相关技术

    - **通信方式**:通过使用Telnet协议,用户可以在远程计算机上执行各种操作,例如发送、接收文件,运行应用程序,检查电子邮件等。 - **安全性考虑**:由于Telnet使用明文传输用户名和密码,因此存在一定的安全隐患...

    telnet客户端

    telnet客户端允许用户在本地计算机上输入命令,这些命令会被发送到远程服务器并执行,然后将结果显示回本地终端。 **基本概念** 1. **远程登录(Remote Login)**: telnet客户端的核心功能,允许用户像坐在远程主机...

    smtp pop3 实现收发邮件,转发邮件等功能

    首先,客户端使用TELNET命令连接到SMTP服务器,然后发送HELO命令来初始化连接。SMTP服务器回应了250 OK,表明连接已经建立。然后,客户端发送AUTH LOGIN命令来进行身份验证,SMTP服务器回应了334,表明需要输入...

    telnet监视器

    通常,这样的文件会包含实现上述功能的各种模块,如网络通信模块负责telnet连接,配置解析模块处理config文件,命令执行模块执行远程命令,结果解析模块分析返回数据,以及报警模块负责在发现问题时触发警报。...

    张孝祥Java邮件开发详解(最全的文档记录)

    在通过CMD使用telnet命令测试邮件服务器时,需注意SMTP服务器登录通常需要Base64编码的用户名和密码。 2. **邮件发送过程**:发送邮件时,需先定义`mail from&lt;&gt;`和`rcpt to&lt;&gt;`,这是与服务器交互的关键。邮件包含两...

    IBM AIX操作系统下的通用命令

    mail 命令用于发送邮件,用户可以使用 mail 命令发送邮件给其他用户。 15. write teamxx:发送消息给其他用户 write 命令用于发送消息给其他用户,用户可以使用 write 命令发送消息给其他用户。 16. wall:广播 ...

Global site tag (gtag.js) - Google Analytics