通过telnet使用smtp协议发送邮件

smtp协议是一个简单的邮件传输协议,利用它我们可以将邮件发送给别人,这里将通过telnet这个程序利用smtp协议从网易向gmail发送一封邮件

网上不少有说使用telnet发送邮件的文章,我也看过了,多数的步骤是这样的

1、使用telnet连接smtp服务器
2、发送一个helo或者ehlo指令
3、验证用户(使用邮件名登陆)
4、使用mail命令准备发送邮件
5、使用rcpt命令指定对方邮箱地址
6、使用data命令开始输入内容
7、输入test或者hello world类似字样(即邮件内容)
8、输入邮件内容结束标志.
9、退出smtp服务器

[[email protected] east]# telnet smtp.163.com 25    //登陆 smtp.163.com 端口号为 25
Trying 202.108.44.205...
Connected to smtp.163.com (202.108.44.205).
Escape character is ‘^]‘.
220 163.com Coremail SMTP(Anti Spam) System
HELO localhost // 与服务器打招呼,并告知客户端使用的机器名字,可以随便填写
250 OK 
AUTH LOGIN     //使用身份认证登陆指令
334 dXNlcm5hbWU6
cmVkc29zMw== //输入已经base64_encode()过的用户名.
334 UGFzc3dvcmQ6
MbM2MDQ3NQ== //输入已经base64_encode()过的密码
235 Authentication successful
MAIL FROM:<[email protected]> //告诉服务器发信人的地址
250 Mail OK
RCPT TO:<[email protected]> //告诉服务器收信人的地址
250 Mail OK
DATA   //正面开始传输信件的内容,且最后要以只含有 . 的特殊行结束。
354 End data with <CR><LF>.<CR><LF>
To:[email protected] 
From:[email protected]
Subject:test mail
From:[email protected]
test body

 //结束传输信件
250 Mail OK queued as smtp14,F0CPBFsuzUOvoDwE.41582S2
QUIT //断开连接
221 Bye
Connection closed by foreign host.

状态码说明:

220 : 服务就绪

250 :请求邮件动作正确,完成(HELO,MAIL FROM,RCPT TO,QUIT 指令执行成功会返回此信息)

235 :认证通过

221 :正在处理

354 :开始发送数据,结束以 .(DATA指令执行成功会返回此信息)

500 :语法错误,命令不能识别

550 :命令不能执行,邮箱无效

552 :中断处理:用户超出文件空间

时间: 2024-10-24 15:55:34

通过telnet使用smtp协议发送邮件的相关文章

20150307 利用smtp协议发送邮件

20150307 利用smtp协议发送邮件 2015-03-07 Lover雪儿 一.smtp匿名发邮件 ? Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. ? C:\Users\Administrator>nslookup -q=mx qq.com Server: XiaoQiang Address: 192.168.31.1 ? Non-au

SMTP 协议发送邮件的整体过程

使用 SMTP 发送邮件_使用 SMTP 发送邮件_发送邮件_用户指南_邮件推送-阿里云 https://help.aliyun.com/knowledge_detail/51622.html 通过 SMTP 协议发送邮件的整体过程如下: 客户端使用 telnet 命令连接到SMTP服务器,建立会话. 客户端发送一个 HELO 或 EHLO 命令. 客户端发送一个 AUTH 认证命令进行用户登录(使用 smtpd 方式). 客户端发送一个 MAIL 命令指定发件人. 客户端发送一个 RCPT 命

Java通过socket实现smtp协议发送邮件

import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; /** 

[计算机网络] C++模拟telnet登陆SMTP服务发送邮件过程

在百度文库中的<使用telnet协议收发邮件>,我们可以很清楚地看到如何通过telnet来进行发送邮件,下面是一些需要用到的命令,通过以下命令可以很容易实现邮件发送功能.为了更好地理解其中每一步的含义,我决定自己写一份可以自动发送邮件的代码. 1 #include <winsock.h> 2 #include <stdio.h> 3 #include <string> 4 #include <iostream> 5 using namespace

Telnet 连接smtp协议手动发邮件

下面实验以QQ邮箱为例(比较多人用,其它邮箱也一样) Step1.打开CMD 输入:telnet SMTP服务器 SMTP端口地址 连接smtp服务器 Step2. 输入:helo 内容 (向它(指服务器)打招呼) 返回250即OK 输入:auth login(告诉它,你要登录) 334 VXNlcm5hbWU6(username:)[base64编码解码] 输入你编码好的账号 334 UGFzc3dvcmQ6(password:) 输入你编码好的密码 235 Authentication su

QTP使用Smtp协议发送邮件

NameSpace = "http://schemas.microsoft.com/cdo/configuration/"   Set Email = CreateObject("CDO.Message")   Email.From = "[email protected]"   Email.To = "[email protected]"   Email.CC = ""   Email.Subject =

Smtp协议与Pop3协议的简单实现

前言 本文主要介绍smtp与pop3协议的原理,后面会附上对其的简单封装与实现. smtp协议对应的RFC文档为:RFC821 smtp协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地.通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟.SMTP服务

SMTP协议及POP3协议-邮件发送和接收原理(转)

本文转自https://blog.csdn.net/qq_15646957/article/details/52544099 感谢作者 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu.163等等他们都有自己的邮件服务器. 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中. 电子邮箱(E

SMTP协议--在cmd下利用bat命令行发送邮件

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运行窗口中输入 sc start TlntSvr 开启Telnet服务! 第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.qq.com 25   然后回车 (此处以QQ邮箱为例,163邮箱可输入smtp.163.com .25表示建立连接的端口号) SMTP协议--在cmd下