How to Use Telnet to Test SMTP Communication
Topic Last Modified: 2005-05-24
Telnet is an extremely useful tool for troubleshooting issues related to SMTP and mail flow. For example, you can use telnet to:
- Verify that SMTP is installed properly, and that it has all the necessary commands.
- Ensure that your server is accessible over the Internet.
- Attempt mail delivery directly over the TCP port.
- Determine that all servers are accepting connections.
- Determine if a firewall is blocking a connection.
- Ensure that a single user can receive mail.
- Ensure that a specific domain can receive mail.
- Ensure that a specific user or domain can send mail to your domain.
Note:
The following procedure shows you how to test the process of an internal user sending mail to a remote user when basic authentication is required for relaying mail outside your organization.
Before you perform the procedure in this topic, read Troubleshooting Mail Flow and SMTP.
The following permissions are required to perform this procedure:
- Member of the local administrators group
To use telnet to test SMTP communication
Open a telnet session: From a command prompt, type telnet, and then press ENTER.
Type set local_echo on a computer running Microsoft Windows® 2000 Server or SET LOCALECHO on a computer running Windows Server™ 2003 or Windows XP, and then press ENTER. This command allows you to view the responses to the commands.
Note:
For a list of available telnet commands, type set ?.
Type o <your mail server domain> 25,and then press ENTER.
Type EHLO <your mail server domain>, and then press ENTER.
Type AUTH LOGIN. The server responds with an encrypted prompt for your user name.
Enter your user name encrypted in base 64. You can use one of several tools that are available to encode your user name.
The server responds with an encrypted base 64 prompt for your password. Enter your password encrypted in base 64.
Type MAIL FROM:<sender@domain.com>, and then press ENTER. If the sender is not permitted to send mail, the SMTP server returns an error.
Type RCPT TO:<recipient@remotedomain.com>,and then press ENTER.If the recipient is not a valid recipient or the server does not accept mail for this domain, the SMTP server returns an error.
Type DATA.
If desired, type message text, press ENTER, type a period (.), and then press ENTER again.
If mail is working properly, you should see a response similar to the following indicating that mail is queued for delivery:
250 2.6.0 <INET-IMC-01UWr81nn9000fbad8@mail1.contoso.com.
The following example shows a telnet test sending mail from contoso.com to a remote domain with a successful result:
250-mail1.fourthcoffee.com Hello [172.16.0.0]
250-TURN
250-ATRN
250-SIZE 5242880
250-ETRN
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-8bitmime
250-BINARYMIME
250-CHUNKING
250-VRFY
250-X-EXPS GSSAPI NTLM
250-AUTH GSSAPI NTLM
250-X-LINK2STATE
250-XEXCH50
250 OK
334 VXNlcm5hbWU6
334 UGFzc3dvcmQ6
235 2.7.0 Authentication successful.
250 2.1.0 kim@fourthcoffee.com....Sender OK
250 2.1.5 ted@contoso.com
354 Start mail input; end with <CRLF>.<CRLF>
.
250 2.6.0 <INET-IMC-01UWr81nn9000fbad8@mail1.fourthcoffee.com> Queued mail for delivery
For more information, see Securing Your Exchange Server.
How to Use Telnet to Test SMTP Communication的更多相关文章
- 用telnet命令,SMTP发送邮件
邮件的发送是基于smtp协议的.邮件客户端软件给smtp服务器传送邮件和smtp服务器之间传送邮件也都是基于smtp协议的.邮件客户端软件接受邮件是主要基于pop3协议的. 下面介绍利用windows ...
- SMTP邮件传输协议发送邮件和附件
在以前接触的项目中,一直都是在做网站时用到了发送mail 的功能,在asp 和.net 中都有相关的发送mail 的类, 实现起来非常简单.最近这段时间因工作需要在C++ 中使用发送mail 的功能, ...
- SMTP邮件传输协议发送邮件和附件(转)
1. SMTP 常用命令简介 1). SMTP 常用命令 HELO/EHLO 向服务器标识用户身份 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人:常在MAIL ...
- ping vs telnet, what is the difference between them and when to use which?
Ping is an ICMP protocol. Basically any system with TCP/IP could respond to ICMP calls if they were ...
- 简单邮件传输协议SMTP
1.SMTP是由源地址到目的地址传送邮件的一组规则,用来控制信件的中转方式. 2.SMTP服务器是遵循SMTP协议的发送邮件服务器,用来发送或者中转发出的邮件,客户端通过SMTP命令与SMTP服务器进 ...
- https那些事儿
(一)SSL/TLS协议运行机制的概述 一.作用 不使用SSL/TLS的HTTP通信,就是不加密的通信.所有信息明文传播,带来了三大风险. (1) 窃听风险(eavesdropping):第三方可以获 ...
- Linux监控体系
监控体系 zabbix 博客:www.abcdocker.com 微信公众号:abcdocker 笔者QQ:381493251 Abcdocker交流群:454666672 如果遇到什么问题可以进群询 ...
- boost.Asio lib
Documentation for Boost.Asio http://www.boost.org/doc/libs/1_62_0/doc/html/boost_asio.html https://w ...
- SOCKS 5协议详解(转)
笔者在实际学习中,由于在有些软件用到了socks5(如oicq,icq等),对其原理不甚了解,相信很多朋友对其也不是很了解,于是仔细研读了一下rfc1928,觉得有必要译出来供大家参考. 1.介绍: ...
随机推荐
- Code the Tree(图论,树)
ZOJ Problem Set - 1097 Code the Tree Time Limit: 2 Seconds Memory Limit: 65536 KB A tree (i.e. ...
- IntelliJ IDEA 我的配置--留个脚印
PS:先PS一下汉化包,导致版本从2016.2无法升级到2016.2.1. 卸载!重新从官网下载最新安装包来安装! https://www.jetbrains.com/ 官方有Community和Ul ...
- Using HiveServer2 - Authentication
To configure Hive for use with HiveServer2, include the following configuration properties in the .. ...
- C# 事件和委托
相信大家在面试的时候会经常问到事件和委托的区别,为什么.net中需要事件和委托这样类似的问题吧,对于一些初学者来说可平时用的过程中也不知道为什么, 只知道这样用,而对于其中的实现机制不是很清楚, 所以 ...
- [作业向]tinyhttp web服务器设计及完整代码
最近看了<HTTP权威指南>和<UNP>有了写一个简单的web服务器的想法,正好这个学期没有什么课,所以就花了一个星期这样写了一个出来,鉴于本人水平有限,如果有什么设计或代码错 ...
- 前端模块化:RequireJS
前言 前端模块化能解决什么问题? 模块的版本管理 提高可维护性 -- 通过模块化,可以让每个文件职责单一,非常有利于代码的维护 按需加载 -- 提高显示效率 更好的依赖处理 -- 传统的开发模式,如果 ...
- FUNCS.H中的函数声明
/*************************************************************************** ...
- js关于对象键值为数字型时输出的对象自动排序问题的解决方法
一.对象键值为数字型时输出的对象自动排序问题如: var objs = { "1603":{id:"1603"}, "1702" ...
- ASP.NET MVC和WebForm 轻松实现前端和后端的双重验证 jquery.validate+ValidationSugar
上次不足的改进 可能上一个贴子给大家带来很多误解,所以我这次把DEMO完善了两个版本 [ASP.NET WEBFROM]和[ ASP.NET MVC] 修改了一些BUG,并且修改了一些细了 在上个贴子 ...
- UWP开发入门(二十)——键盘弹起时变更界面布局
UWP APP在键盘弹起或隐藏时,并不会自动处理界面布局.有时会出现键盘遮挡了下一个需要填写的文本框,或是下一步按钮的情况.本篇我们以登录界面做例子,用一种巧妙简单的方式在键盘弹起和隐藏时更改界面的布 ...