用smtp协议发邮件,为什么要先登陆一个smtp服务器?

BlackHamlet 2019-01-16 11:13:12
我想用C++写一个发邮件的功能
我查找了很多资料,比如使用libcurl库
但是每个实例中都无一例外的,发邮件之前需要先登陆一个SMTP服务器
我不是很理解,
SMTP是一个基于TCP的文本协议,
为什么一定要登陆一个服务器当中转,
我不可以直接从本机发送到目标吗?
...全文
4359 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
excester 2020-02-11
  • 打赏
  • 举报
回复
邮件服务器有两个重要的功能:(1)邮箱实现存储发送给某个用户的Email功能;(2)消息队列可以存储等待发送的Email。
当我们要发送邮件的对方不在线时,平常都是发送完就退出来,也不知道有没有成功发送给对方。其实就是发送到了我们这端的邮件服务器中,我们的邮件服务器再去帮助我们发送。而当我们不在线却有人要给我们发送邮件时,我们的邮件服务器就可以帮我们接收并存储邮件,我们在自己的邮件客户端中就可以登陆并查看。

X-i-n 2019-01-19
  • 打赏
  • 举报
回复
你说你是 aa@abc.com,那你拿什么来证明你是真的aa@abc.com
jbg1982 2019-01-19
  • 打赏
  • 举报
回复
以前确实可以,现在服务器收件会核对发送方地址,防止垃圾邮件。
weixin_44555105 2019-01-17
  • 打赏
  • 举报
回复
跟dns的原理类似
BlackHamlet 2019-01-16
  • 打赏
  • 举报
回复
我建立了TCP连接,朝着目标服务器,按照SMTP协议发送一封邮件过去,就完事儿了,这样子不行吗?

1,736

社区成员

发帖
与我相关
我的任务
社区描述
网络协议与配置相关内容讨论专区
网络协议网络安全tcp/ip 技术论坛(原bbs)
社区管理员
  • 网络协议与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧