用telnet 发送邮件
Posted on November 9, 2015
使用telnet连接smtp服务器
- 使用telnet连接smtp服务器
- 发送一个helo或者ehlo指令
- 验证用户(使用邮件名登陆)
- 使用mail命令准备发送邮件
- 使用rcpt命令指定对方邮箱地址
- 使用data命令开始输入内容
- 输入test或者hello world类似字样(即邮件内容)
- 输入邮件内容结束标志.
- 退出smtp服务器
使用telnet连接smtp服务器很简单,这里连接163的smtp服务器为smtp.163.com端口为25
telnet smtp.163.com 25 |
helo和ehlo指令的作用是向服务器标识用户身份,返回邮件服务器身份
helo 163.com |
验证用户这里要注意下,使用auth login进行验证时用户名和密码是经过base64编码过后的字符 我们输入auth login回车 然 后你会看见一个334状态码和一个VXNlcm5hbWU6字符串,用base64解码后你会发现这是Username:的意思,也就是说这时输入经过 base64编码后的字符串,至于如何得到base64编码后的字符串,在linux下可以使用base64这个命令得到
echo -n test@163.com | base64 |
将输出的字符串复制到telnet里回车,这里记住用户名是包括@163.com的 + 然后接着是输入密码,和上面一样,密码也是经过base64编码后的字符串 + 完成后你会看到了登陆成功的提示 + 接下来使用mail指令开始写一个邮件,格式是这样的 +
mail from: |
yourname是你的用户名 + 然后指定要将邮件发往何方 +
rcpt to: |
- . dst@xxx.com是对方的邮件地址
- . 这里可以有多个rcpt指令,格式如上 +
- . 然后使用data指令开始写邮件内容 +
- . subject:主题 +
- . from:<来自哪里> +
- . to:<送往何方> +
- . 邮件内容 +
- . . + 注意结束data指令的标志是一个回车一个点再一个回车,这时邮件已经发送了 + quit退出服务器 +