TCP/IP协议:最流行的电子邮件协议SMTP(简单邮件传输协议)详解

SMTP 是一种电子邮件协议,用于通过互联网从一个电子邮件帐户向另一个电子邮件帐户发送电子邮件。它是TCP/IP协议应用层的一部分。作为一种电子邮件协议,它建立了不同电子邮件客户端和帐户之间轻松信息交换的规则。这样,简单邮件传输协议就可以实现广泛的电子邮件传送。

文章目录

    • 什么是 SMTP 服务器?
    • SMTP工作原理
    • SMTP 命令
    • SMTP 协议端口
    • 比较 SMTP、IMAP 和 POP
    • SMTP协议优点

需要注意的是,SMTP 不是邮件检索协议,收件人仍然需要检索邮件。这意味着它将电子邮件发送到电子邮件提供商的邮件服务器,但使用不同的协议从邮件服务器检索该电子邮件,以便收件人可以阅读它。

SMTP 与IMAP(互联网消息访问协议)和 POP(邮局协议)一样,是最流行的电子邮件协议之一。许多知名的电子邮件客户端(例如 Gmail、Outlook 和 Apple Mail)都支持 SMTP 电子邮件协议来发送消息。

在这里插入图片描述

什么是 SMTP 服务器?

SMTP服务器是能够利用SMTP协议发送电子邮件的邮件服务器。电子邮件客户端直接与电子邮件提供商的 SMTP 服务器连接以启动发送电子邮件。
有两种不同的 SMTP 服务器类型:

  1. 常规 SMTP 服务器
    此类型通常用于发送标准个人电子邮件。此外,此类服务器由电子邮件提供商(例如 Gmail)提供。需要了解的重要一点是,此类服务器通常有严格的每日发送限制。
  2. 专用 SMTP 服务器
    这种类型的 SMTP 服务器非常有用,因为它可以处理批量电子邮件。许多公司也依赖此类服务器来处理交易电子邮件,例如确认购买、确认新闻通讯订阅或重置忘记密码的消息。

SMTP工作原理

简单邮件传输协议创建了在电子邮件客户端和邮件服务器之间交换数据的过程。以下是它如何帮助电子邮件传输:

  1. 打开 SMTP 连接
    由于 SMTP 使用TCP(传输控制协议)作为传输协议,因此需要在客户端和服务器之间建立连接。然后电子邮件客户端可以使用 SMTP 命令(HELO 或 EHLO)启动电子邮件发送过程。
  2. 传输电子邮件数据
    客户端发送多个带有电子邮件内容的命令,例如电子邮件标题和电子邮件正文。
  3. 邮件传输代理 (MTA)
    服务器运行邮件传输代理 (MTA) 程序来检查收件人电子邮件地址的域名。如果与发件人的 IP 地址不同,它将查询域名系统 (DNS)以查找收件人的 IP 地址。
  4. 关闭连接
    一旦数据传输完成,客户端通知服务器。然后最后一步是服务器关闭连接。这样,在客户端打开新的 SMTP 连接之前,服务器不会收到任何其他电子邮件信息。

SMTP 命令

SMTP 命令是文本指令,告诉客户端或服务器如何操作数据以及如何处理数据。此外,它们还通过正确地将传输的数据提供给服务器来帮助客户端。

  • HELO/EHLO:这些命令用于“Hello”并在客户端和服务器之间创建 SMTP 连接。
EHLO example.com
  • MAIL FROM:这提供了有关发送电子邮件的人的详细信息。
MAIL FROM: <sender@example.com>
  • RCPT TO:此命令用于指定电子邮件的收件人。如果有多个接收者,则客户端可以多次发送此命令。
RCPT TO: <recipient@example.com>
  • DATA:准备并启动客户端和服务器之间的信息传输。
  • RSET:此命令重置连接并清除所有先前传输的数据,而不关闭 SMTP 连接。当客户端错误地发送他们想要发送的信息时,通常会使用 RSET。
  • QUIT:使用此命令,连接结束。

SMTP 协议端口

可以使用多个 SMTP 端口作为通信端点来发送电子邮件。在以前,简单邮件传输协议仅使用一个端口:25。现在,它可以使用其他端口,即 465、587 和 2525。

  • 端口 25:它是 SMTP 服务器之间连接的主要使用端口。然而,它经常被云服务提供商和 ISP 阻止,因为犯罪分子不断滥用它发送大量垃圾邮件。
  • 端口 465: 它供带有安全套接字层 (SSL) 的 SMTP 使用。但是,现代电子邮件系统不再使用此端口。
  • 端口 587:它现在恰好是现代应用程序用于电子邮件提交的最佳选择。通过此端口的 SMTP 连接实施 TLS 加密。
  • 端口 2525:它并未与简单邮件传输协议正式关联,但如果常用端口不可用,它可以作为替代方案。

比较 SMTP、IMAP 和 POP

SMTP(简单邮件传输协议)、IMAP(互联网消息访问协议)和 POP(邮局协议)是电子邮件通信中使用的三种基本协议。

SMTP 负责发送电子邮件。它将传出消息从客户端传输到电子邮件服务器,然后电子邮件服务器将消息转发到目的地。这对于可靠的电子邮件传递至关重要。

另一方面,IMAP 和 POP 是接收电子邮件的协议。IMAP(互联网消息访问协议)允许用户直接在电子邮件服务器上访问和管理他们的电子邮件。它可以跨多个设备同步电子邮件,确保一台设备上所做的更改反映在所有其他设备上。

相比之下,POP(邮局协议)将电子邮件从服务器下载到客户端设备,并且通常将其从服务器中删除。它适合想要在本地存储电子邮件的用户。

本质上,SMTP 发送电子邮件,而 IMAP 和 POP 接收电子邮件。IMAP 提供从多个设备的同步和访问,而 POP 主要侧重于将电子邮件下载到单个设备

SMTP协议优点

以下是 SMTP(简单邮件传输协议)的一些主要优点:

  1. 简单

它提供了在特定网络中的不同设备之间通过电子邮件进行通信的最直接的方法。最终用户只需输入电子邮件并将其发送到收件人的电子邮件地址。然后,邮件将进行从 SMTP 服务器到收件人设备的交换服务器的简单过程。

  1. 电子邮件快速发送

由于简单邮件传输协议是基于简单的平台设计的,因此电子邮件的发送速度非常快。此外,使用一台 SMTP 邮件服务器,您可以确保将邮件快速发送给多个收件人。

  1. 可靠性

该协议还为您发出的电子邮件提供可靠性。如果邮件未成功发送,SMTP 服务器将重新发送确切的电子邮件,直到传输完成。使用其他发送电子邮件的方式,您可能需要尝试多次才能传输电子邮件。

  1. 专用服务器

通过 SMTP(简单邮件传输协议),企业有机会实施和使用负责处理外发电子邮件的专用服务器。网络邮件提供商和ISP无法真正提供排他性,这可能会导致电子邮件传输问题。专用 SMTP 服务器在本地维护,可以选择配置以处理任何类型的重要和敏感​​电子邮件。

SMTP(简单邮件传输协议)仍然是最常用标准协议之一。需要发送大量电子邮件的大型企业往往都会自建自己专有的SMTP服务器。

但是电子邮件也面临巨大的安全风险,如何避免各类垃圾邮件预计钓鱼欺诈。可以参考如下博文:

  • 安全知识普及:什么是垃圾邮件和网络钓鱼欺诈
  • 在 Exchange Server 的边缘传输服务器上配置垃圾邮件过滤
  • 善用exchange server自带的反垃圾邮件功能过滤垃圾邮件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/168072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

Educational Codeforces Round 158 (Rated for Div. 2)(A~E)(贪心,树形DP)

A - Line Trip 题意&#xff1a;有一条路&#xff0c;可以用一条数线来表示。你位于数线上的点 0 &#xff0c;你想从点 0 到点 x &#xff0c;再回到点 0。你乘汽车旅行&#xff0c;每行驶 1个单位的距离要花费 1 升汽油。当您从点 0出发时&#xff0c;汽车已加满油(油箱中的…

麒麟linux离线安装dotnet core

1. 下载 dotnet core,以3.1为例 下载地址: 下载 .NET Core 3.1 (Linux、macOS 和 Windows) 查看linux cpu类型,然后根据类型下载 uname -m #结果是: aarch64 2. 放到指定目录,比如:/usr/dotnet 3. 解压dotnet-sdk-3.1.426-linux-arm64.tar.gz cd /usr/dotnet tar –zxvf a…

Ubuntu 22.04.3编译AOSP13刷机

文章目录 设备信息下载AOSP并切换分支获取设备驱动编译系统编译遇到的问题Cannot allocate memoryUbuntu设置USB调试刷机参考链接 设备信息 手机&#xff1a;Pixel 4XL 下载AOSP并切换分支 在清华大学开源软件镜像站下载初始化包aosp-latest.tar。 解压缩&#xff0c;切换到…

解决LocalDateTime传输前端为时间的数组

问题出现如下&#xff1a; 问题出现原因&#xff1a; 默认序列化情况下会使用SerializationFeature.WRITE_DATES_AS_TIMESTAMPS。使用这个解析时就会打印出数组。 解决方法&#xff1a; 我在全文搜索处理方法总结如下&#xff1a; 1.前端自定义函数来书写 ,cols: [[ //表头{…

Langchain的Agents介绍

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

Redis -- 介绍

1、NoSQL: 指的是非关系型数据库&#xff0c;主要分成四大类&#xff1a;键值存储数据库、列存储数据库、文档型数据库、图形数据库。 2、什么是Redis&#xff1a; Redis是一种基于内存的数据库&#xff0c;一般用于做缓存的中间件。 3、Redis的主要的特点&#xff1a; 1、Rd…

一、TIDB基础

TIDB整个逻辑架构跟MYSQL类似&#xff0c;如下&#xff1a; TIDB集群&#xff1a;相当于MYSQL的数据库服务器&#xff0c;区别是MYSQL数据库服务器为单进程的&#xff0c;TIDB集群为分布式多进程的。 数据库&#xff1a;同MYSQL数据库&#xff0c;数据库属于集群&#xff0c;…

SSL握手失败的解决方案

一、SSL握手失败的原因&#xff1a; 1&#xff0c;证书过期&#xff1a;SSL证书有一个有效期限&#xff0c;如果证书过期&#xff0c;就会导致SSL握手失败。 2&#xff0c;证书不被信任&#xff1a;如果网站的SSL证书不被浏览器或操作系统信任&#xff0c;也会导致SSL握手失败…

线性代数的艺术

推荐一本日本网友Kenji Hiranabe写的《线性代数的艺术》。这本书是基于MIT大牛Gilbert Strang教授的《每个人的线性代数》制作的。 虽然《线性代数的艺术》这本书仅仅只有12页的内容&#xff0c;就把线性代数的重点全画完了&#xff0c;清晰明了。 《线性代数的艺术》PDF版本&…

mysql 变量和配置详解

MySQL 中还有一些特殊的全局变量&#xff0c;如 log_bin、tmpdir、version、datadir&#xff0c;在 MySQL 服务实例运行期间它们的值不能动态修改&#xff0c;也就是不能使用 SET 命令进行重新设置&#xff0c;这种变量称为静态变量。数据库管理员可以使用前面提到的修改源代码…

ErphpdownV16.21插件 安装教程和插件下载

ErphpdownV16.21插件下载_新版本 上传插件并解压 登入后台插件管理启动ErphpdownV16.21插件即可 启动后设置即可使用此版本为学习版插件 功能介绍&#xff1a; Erphpdown会员推广下载专业版 经过完美测试运行于wordpress 3.x-6.x版本。后续会增加更多实用的功能。已针对此插件…

Windows IDEA Python开发环境安装+爬虫示例

文章目录 Python下载安装开发工具IDEA包管理安装pip基本用法从 requirements.txt 安装依赖 项目示例部署在 Linux 上安装Python在 Linux 上创建虚拟环境&#xff1a;安装依赖&#xff1a;运行你的爬虫 Python下载安装 Python 安装包下载地址&#xff1a;https://www.python.or…

Oracle登录认证方式详解

文章目录 一、简介二、OS认证三、口令认证四、remote_login_passwordfile 详解 一、简介 在数据库管理中&#xff0c;登录认证是确保数据库安全性的重要环节。Oracle数据库提供 了两种认证方式&#xff0c;一种是“操作系统认证”&#xff0c;一种是“口令文件认证&#xff0c…

智安网络|如何最大限度地提高企业网络安全水平

在当今数字化时代&#xff0c;企业面临着日益复杂和智能化的网络威胁。为了保护企业的机密信息和客户数据&#xff0c;漏洞扫描成为了一个至关重要的安全措施。然而&#xff0c;对于企业来说&#xff0c;他们最关心的是什么问题呢&#xff1f; 一、漏洞的发现和修复 在网络安全…

路径规划之Best-First Search算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之Best-First Search算法 系列文章目录前言一、Best-First Search算法1.1 起源1.2 过程 三、简单使用 前言 Best-First Search算法和Dijkstra算法类似&#xff0c;都属于BFS的扩展或改进 一、…

基于官方YOLOv4开发构建目标检测模型超详细实战教程【以自建缺陷检测数据集为例】

本文是关于基于YOLOv4开发构建目标检测模型的超详细实战教程&#xff0c;超详细实战教程相关的博文在前文有相应的系列&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a;《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、…

Linux技能篇-非交互式修改密码

今天的文章没有格式&#xff0c;简单分享一个小技能&#xff0c;就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…

一文彻底看懂Python切片,Python切片理解与操作

1.什么是切片 切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。 说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末…

【云原生 Prometheus篇】Prometheus的动态服务发现机制

自动发现 一、Prometheus服务发现 理论部分1.1 Prometheus数据采集配置1.2 基于文件的服务发现1.3 基于consul的服务发现1.4 基于 Kubernetes API 的服务发现1.4.1 概念1.4.2 部分配置参数1.4.3 配置模板 二、实例一&#xff1a;部署基于文件的服务发现2.1 创建用于服务发现的文…