前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何帅(zhuang)气(x)的发邮件

如何帅(zhuang)气(x)的发邮件

作者头像
江湖安得便相忘
发布2019-10-21 14:42:37
4990
发布2019-10-21 14:42:37
举报

上期学习:UTF-8与UTF-16

既然目的是要非常帅气的发邮件,自然不能使用平常使用的网页客户端、PC客户端。

准备帅气的工具:telnet

邮件服务器:smtp.sina.cn,端口:25

第一步:连接邮件服务器

代码语言:javascript
复制
$ telnet smtp.sina.cn 25
... 
... 220 smtp-97-23.smtpsmail.fmail.bx.sinanode.com ESMTP

响应代码220:代表邮件服务就绪。协议是ESMTP:SMTP扩展协议

第二步:和邮件服务器打招呼:你好

代码语言:javascript
复制
EHLO sina
... 250-smtp-97-23.smtpsmail.fmail.bx.sinanode.com
... 250-AUTH LOGIN PLAIN
... 250-AUTH=LOGIN PLAIN
... 250-STARTTLS
... 250 8BITMIME

响应代码250:表示请求动作完成

第三步:认证邮件服务器账号

代码语言:javascript
复制
AUTH LOGIN
... 334 VXNlcm5hbWU6

响应代码334:等待输入信息

继续输入账号的base64编码

代码语言:javascript
复制
dGVzdEBzaW5hLmNu
... 334 UGFzc3dvcmQ6

继续输入密码的base64编码

代码语言:javascript
复制
MTIzcXdlYXNk
... 235 OK Authenticated

响应代码235:认证成功

第四步:设置发件人、收件人或者抄送人

代码语言:javascript
复制
MAIL FROM:<test@sina.cn>
RCPT TO:<test@qq.com>
RCPT TO:<test1@sina.cn>
RCPT TO:<test2@qq.com>

收件人与抄送均使用RCPT TO设置。每输入一条会响应 250 ok。

第五步:设置邮件内容

代码语言:javascript
复制
DATA
... 354 End data with <CR><LF>.<CR><LF>

代码响应354:数据起始,以<CR><LF>.<CR><LF>为结束符号

继续输入

代码语言:javascript
复制
MIME-Version:1.0
Content-Type:text/html;charset=utf-8
Content-Transfer-Encoding: BASE64
From:=?utf-8?B?5rGf5rmW5a6J5b6X5L6/55u45b+Y?= <test@sina.cn>
To:<test@qq.com>;<test1@sina.cn>
Cc:<test2@qq.com>
Subject:=?utf-8?B?5qCH6aKY?=

PGEgaHJlZj0iaHR0cHM6Ly9tYWlsLnNpbmEuY29tLmNuIj7msZ/muZblronlvpfkvr/nm7jlv5g8L2E+

.

数据header部分定义协议版本,内容类型,与传输编码。发送人,收件人,抄送人,主题和正文,最后是数据结束符号。

From 发件人可配置 名称 <邮件>

To 收件人,多人使用分号分隔

Cc 抄送人,多人使用分号分隔

Subject 主题

Content-Transfer-Encoding: BASE64 使用base64编码传输内容,正文传输时需要base64编码,例子中的内容为<a href="https://mail.sina.com.cn">江湖安得便相忘</a>

主题与发送人中是一个固定的模式 =?utf-8?B?xxxxxx?= , xxx部分是base64编码的数据,目的是解决中文乱码。

最后:结束

代码语言:javascript
复制
QUIT

响应代码221:服务关闭

查看邮件是否已经发出去了呢?

【文章参考】

https://tools.ietf.org/html/rfc1341

https://tools.ietf.org/html/rfc1869

https://tools.ietf.org/html/rfc2821

https://tools.ietf.org/html/rfc2554

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 可回收BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档