邮件的STMP、POP、IMAP、MIME协议


title: 邮件的STMP、POP、IMAP、MIME协议
date: 2018-07-18 23:52:28
updated: 2020-03-12 20:26:05
categories: 计网
tags:
- 计网


邮件收发体系结构

电子邮件发送协议是一种基于**“推"的协议,主要包括 SMTP ; 邮件接收协议 则是一种基于"拉”**的协议,主要包括 POP协议 和 IMAP协议 ,在正式介绍这些协议之前,我们先给出邮件收发的体系结构:

1584016274

从上图可以看出邮件收发的整个过程大致如下:

  • 1.发件人调用用户代理编辑要发送的邮件。

  • 2.发件人点击屏幕上的”发送邮件“按钮,把发送邮件的 工作全部交给用户代理来完成。用户代理通过SMTP协议将邮件发送给发送方的邮件服务器(在这个过程中,用户代理充当SMTP客户,而发送方的邮件服务器则充当SMTP服务器 )。

  • 3.发送方的邮件服务器收到用户代理发来的邮件后,就把收到的邮件临时存放在邮件缓存队列中,等待时间成熟的时候再发送到接收方的邮件服务器(等待时间的长短取决于邮件服务器的处理能力和队列中待发送的信件的数量 )。

  • 4.若现在时机成熟了,发送方的邮件服务器则向接收方的邮件服务器发送邮件缓存中的邮件。在发送邮件之前,发送方的邮件服务器的SMTP客户与接收方的邮件服务器的SMTP服务器需要事先建立TCP连接,之后再将队列中 的邮件发送出去。值得注意的是,邮件不会在因特网中的某个中间邮件服务器落地 。

  • 5.接收邮件服务器中的SMTP服务器进程在收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。

  • 6.收件人在打算收信时,就运行PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件。 注意,在这个过程中,收件人是POP3客户,而接收邮件服务器则是POP3客户,箭头的方向是从邮件服务器指向接收用户,因为这是一个“拉 ”的操作。

我们根据上面的总体过程介绍下各个组件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MIME结构 一、 RFC822协议 RFC822 文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片、声音等二进制数据。另外,SMTP服务器在接收邮件内容时,当接收到只有一个“.”字符的单独行时,就会认为邮件内容已经结束,如果一封邮件正文中正好有内容仅为一个“.”字符的单独行,SMTP服务器就会丢弃掉该行后面的内容,从而导致信息丢失。 由于 Internet的迅猛发展,人们已不满足于电子邮件仅仅是用来交换文本信息,而希望使用电子邮件来交换更为丰富多彩的多媒体信息,例如,在邮件中嵌入图片、声音、动画和附件。但是,由于图片和声音等内容是非ASCII码的二进制数据,而RFC822邮件格式只适合用来表达纯文本的邮件内容,所以,要使用 RFC822邮件格式发送这些非ASCII码的二进制数据时,必须先采用某种编码方式将它们“编码”成可打印的ASCII字符后再作为RFC822邮件格式的内容。邮件阅读程序在读取到这种经过编码处理的邮件后,再按照相应的解码方式解码出原始的二进制数据,这样就可以借助RFC822邮件格式来传递多媒体数据了。这种做法需要解决以下两个技术问题: (1) 邮件阅读程序如何知道邮件中嵌入的原始二进制数据所采用的编码方式; (2) 邮件阅读程序如何知道每个嵌入的图像或其他资源在整个邮件内容中的起止位置。 针对这个问题,人们后来专门为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议。 .....
### 回答1: Ubuntu 20.04是一款非常流行的Linux操作系统,它可以非常方便地配置邮件服务器SMTP和IMAP。 首先,我们需要安装邮件服务器软件。Ubuntu 20.04系统中默认安装了Postfix邮件服务器,我们只需要打开终端输入以下命令进行安装即可: sudo apt-get update sudo apt-get install postfix 接下来,我们需要配置Postfix邮件服务器。我们可以在/etc/postfix/main.cf文件中进行配置。以下是一个简单的配置示例: myhostname = mail.example.com mydestination = example.com, mail.example.com, localhost.example.com, localhost mynetworks = 127.0.0.0/8, [::1]/128 smtpd_banner = $myhostname ESMTP smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous 在上述示例配置中,邮件服务器的主机名是mail.example.com,邮件服务器可以发送电子邮件到example.com,mail.example.com和本地主机名localhost.example.com。邮件服务器还可以忽略其他来源的Emails。 我们还需要配置SMTP和IMAP认证。可以使用Dovecot软件提供这些服务。我们可以使用以下命令来安装Dovecot: sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d 接下来我们可以在/etc/dovecot/conf.d/10-auth.conf和/etc/dovecot/conf.d/10-master.conf两个配置文件中进行认证配置。 最后,重启邮件服务器和Dovecot服务,我们就可以通过SMTP和IMAP协议使用邮件服务器发送和接收邮件了! ### 回答2: 配置邮件服务器SMTP和IMAP是一个相对复杂的过程,需要正确地设置各种参数,以确保基于Ubuntu 20.04的邮件服务器可以顺利地工作。下面是一些步骤供参考: 1. 安装邮件服务器软件:Ubuntu 20.04中默认安装了Postfix邮件服务器软件,运行以下命令进行安装: sudo apt-get update sudo apt-get install postfix 2. 配置SMTP服务器:默认情况下,Postfix配置为仅在本地主机上接受邮件。要允许其他计算机发送邮件,请编辑/etc/postfix/main.cf,在“myhostname”行下添加以下行: mydestination = example.com, localhost.example.com, localhost 其中“example.com”应替换为您的域名。保存配置更改并重新启动Postfix服务: sudo service postfix restart 3. 配置IMAP服务器:Ubuntu 20.04默认安装Dovecot IMAP服务器软件。编辑/etc/dovecot/conf.d/10-auth.conf文件,在“disable_plaintext_auth”行下添加以下行: auth_mechanisms = plain login 接下来,在/etc/dovecot/conf.d/10-master.conf文件中找到以下行,将其注释掉: #unix_listener /var/spool/postfix/private/auth { #mode = 0660 #user = postfix #group = postfix #} 最后,重新启动Dovecot服务: sudo service dovecot restart 4. 测试SMTP和IMAP服务器:你可以使用常见邮件客户端,如Outlook或Thunderbird,登录到你的SMTP和IMAP服务器并发送/接收邮件来测试服务器的配置。 以上是配置Ubuntu 20.04的邮件服务器SMTP和IMAP的一些基本步骤。这个过程可以有很多的细节,需要逐一处理以确保正确地连接和使用邮件服务器。 ### 回答3: Ubuntu20.04作为一款免费的开源操作系统,具有众多功能强大的特性,配置邮件服务器 stmp imap也是非常方便的。下面介绍一下如何在Ubuntu20.04上配置邮件服务器。 首先,我们需要安装基本的邮件服务软件,其中包括 Postfix、Dovecot、SASL 和 AnonTLS 等。我们可以使用以下命令来完成软件的安装: sudo apt-get update sudo apt-get install postfix dovecot-core dovecot-imapd dovecot-pop3d sasl2-bin libsasl2-modules-ldap openssl-blacklist 安装完毕后,我们需要通过以下命令来配置 Postfix: sudo nano /etc/postfix/main.cf 在该文件中,我们需要做如下配置: myhostname = your.mail.server.com mydomain = your.mail.server.com myorigin = your.mail.server.com inet_interfaces = all mydestination = your.mail.server.com, localhost smtpd_banner = $myhostname ESMTP 在这些设置中,myhostname、mydomain 和 myorigin 都应该设置为您的邮件服务器的主机名。接下来,我们需要配置 Dovecot,在 /etc/dovecot/dovecot.conf 文件中增加以下设置: protocols = imap pop3 auth_mechanisms = plain login disable_plaintext_auth = no ssl = no pop3_uidl_format = %08Xu%08Xv 在这些设置中,protocols 配置了 Dovecot 所支持的客户端访问协议,auth_mechanisms 配置了认证方式,disable_plaintext_auth 设置为 no 表示能够使用明文密码认证登录。pop3_uidl_format 是用于 POP3 下载时保证每个邮件的唯一性的设置。 此时我们已完成 SMTP 和 IMAP 邮件服务器的基本配置。接下来我们需要设置邮件用户的身份认证信息。具体的说明如下: 1. 在 /etc/saslpasswd2 文件中新建帐户信息,每行只能记录一个帐户,格式为“username: password”。 2. 我们需要设置 saslauthd 的配置参数,在 /etc/default/saslauthd 文件中设置以下参数: START=yes AUTHMECH=shadow MECHANISMS="ldap plain" ARGS="-c -m /var/run/saslauthd -O /etc/saslauthd.conf" 3. 根据上述命令执行后,我们需要在 /etc/saslauthd.conf 文件中设置 SASL 认证的基本参数: verbosity: 0 mech_options: <empty> pwcheck_method: saslauthd mech_list: plain login 4. 最后,我们需要设置用户帐户在 LDAP 数据库中的信息,在 /etc/postfix/sasl/smtpd.conf 文件中增加以下设置: pwcheck_method: saslauthd mech_list: plain login log_level: 4 auxprop_plugin: sasldb mech_disable: CRAM-MD5 DIGEST-MD5 至此,我们在 Ubuntu20.04 上已经设置好了邮件服务器,我们可以通过 IMAPPOP3、SMTP 等协议访问邮件服务器,获取邮箱中存储的邮件信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值