Mr liu jin

我是一个什么都想学却学不会的技术宅^_^目前在西安讨生活


Explore Me
Mr liu jin
我是一个什么都想学却学不会的技术宅^_^目前在西安讨生活
15
10
8
GP规范学习
智能卡 5218664b · 5年前

前面

之前有看一些英文规范,大概明白一些东西。现在的思路是,由于英文水平较差,首先看中文规范对此规范有了大概的了解之后然后详细研读英文规范,在看中文规范的时候也以英文规范辅助,英文规范是一手资料,中文版难免有所偏差。

每个字都认识,全部连起来就不知道什么意思了。

11.5
先看中文规范,通读一下,明白这个规范主要在讲什么,有哪些内容。

规范中涉及的东西太多,在不了解周边的情况下只看规范太过抽象

参考:

gp2.2 中文版GP2.1.1中文版

有关项目管理的思考
#### 目前没有接触过太多项目管理的知识也没太多的经验,但是编码过程中感觉需要一种高效管理项目开发
6年前 · 5218664b
python 2.7编码问题理解
# 写爬虫的时候遇到了字符编码的问题,详细了解一下 # 相关概念 ## 1.什么是字符编码
6年前 · 5218664b
git 修改commit message
### 1.首先 `git log` 看一下要修改的那次提交是第几次提交,最近的一次提交序号
6年前 · 5218664b
windows使用hmail搭建邮件服务器roundcube作为web客户端
使用软件: [hmailsever][1] [openssl for windo
6年前 · 5218664b
debian搭建邮件服务器
xx安装xx搭建xx配置 5218664b · 6年前 · 浏览量:967

搭建完成之后写博客好累,,,
总结:总体来说不是很难,搭建过程遇到一些问题,每个教程配置文件的配置项都不一样,在不明白其具体含义的情况下进行配置很是费劲,因为不知道哪里会出错,搭建之前需要了解一下邮件的发送和接收原理。

名词解释

POP3
POP3 是 Post Office Protocol 3 的简称,即邮局协议的第 3 个版本 , 它规定怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准 ,POP3 允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上 , 同时删除保存在邮件服务器上的邮件,而 POP3 服务器则是遵循 POP3 协议的接收邮件服务器,用来接收电子邮件的。

SMTP
SMTP 的全称是 “Simple Mail Transfer Protocol” ,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。 SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。 SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。
   SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。
  增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

IMAP
IMAP 全称是 Internet Mail Access Protocol ,即交互式邮件存取协议,它是跟 POP3 类似邮件访问标准协议之一。不同的是,开启了 IMAP 后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。所以无论从浏览器登录邮箱或者客户端软件登录邮箱,看到的邮件以及状态都是一致的。

MX 记录
MX 记录的作用是告诉全世界的 SMTP 服务器,你的邮箱服务器 mail.yourdomain.com 负责 yourdomain.com 的邮件发送和接收。
MX 记录 @ mail.linuxdashen.com
   邮箱服务器的常见 DNS 名字是 mail.yourdomain.com 。如果一个域名有多个邮箱服务器,那么可以设置多个 MX 记录,并设置优先级。优先级用数字表示,数字越小表示优先级越高。

A 记录
当其他 SMTP 服务器知道 mail.yourdomain.com 负责 yourdomain.com 的邮件发送和接收后,还必须要知道 mail.yourdomain.com 这台主机的 IP 才能建立连接并发送邮件。 A 记录就是将主机名解析成 IP 地址的一个记录。
mail.linuxdashen.com <IP 地址 >
   MX 记录是必须要做的。如果域名没有做解析,只能用于内网收发邮件。要想实现与外网邮箱的收发,需要做域名解析。

邮件发送流程和解析

转自: http://www.cnblogs.com/chris-cp/p/4843407.html
   通常使用 Email 都很容易,但是 Internet 的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的 Outlook , Foxmail 等都是用来收信和发信的,称之为 MUA : Mail User Agent ,邮件用户代理。

   MUA 并非直接将邮件发送至收件人手中,而是通过 MTA : Mail Transfer Agent ,邮件传输代理代为传递, Sendmail 和 Postfix 就是扮演 MTA 的角色。

   一封邮件从 MUA 发出后,可能通过一个或多个 MTA 传递,最终到达 MDA : Mail Delivery Agent ,邮件投递代理,邮件到达 MDA 后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。

   一旦邮件到达邮箱,就原地不动了,等用户再通过 MUA 将其取走,就是用 Outlook , Foxmail 等软件收信的过程。

   所以一封邮件的流程是:
   发件人: MUA -- 发送 --> MTA -> 若干个 MTA... -> MTA -> MDA <-- 收取 -- MUA :收件人
   MUA 到 MTA ,以及 MTA 到 MTA 之间使用的协议就是 SMTP 协议,而收邮件时, MUA 到 MDA 之间使用的协议最常用的是 POP3 或 IMAP 。

   需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常 MTA 和 MDA 并不是同一台服务器,因此,在 Outlook 等软件里,我们需要分别填写 SMTP 发送服务器的地址和 POP3 接收服务器的地址。

邮件服务器搭建

   搭建概述:实际就是安装 postfix (它使用的端口号就是 smtp 的端口号)这个 MTA 在邮件服务器上, MTA 负责邮件的转发,所以它使用的是发件服务器域名和端口,然后将服务器文件夹和文件(或者数据库)作为 MDA ,然后使用 dovecot 对 MDA 中的邮件进行管理,所以它使用的是收件服务器域名和端口。

   文章中一部分截图来自别的博客,理解意思即可

在 debian 4.9.82-1 搭建成功,详细步骤如下:

1. 在 Debian 上安装 Postfix 邮件服务器

邮件服务器正常运行所需的最重要的软件是 MTA 代理。该 MTA 是建在一个服务器 - 客户端架构,这是负责邮件服务器之间的邮件传递软件
执行以下命令:

# apt-get install postfix

在 Postfix 的安装过程中,您将被问到一系列问题。在第一个提示符下,选择 “ Internet 站点 ” 选项作为 Postfix 配置的常规类型,然后按 [enter] 键继续,然后将域名添加到系统邮件名称,如以下屏幕截图所示。
1535100750.png

2. 在 Debian 上配置 Postfix 邮件服务器

备份 Postfix 主配置文件

#  cp /etc/postfix/main.cf{,.backup}

开始配置Postfix

#  vim /etc/postfix/main.cf

需要修改的项: myhostname, mydomain, mynetworks, home_mailbox

#服务器在域名供应商(阿里云控制台)那里绑定的邮件服务器子域名,对应MX记录 
myhostname = mail.purepure.top 
#邮件服务器域名后缀 
mydomain = purepure.top 
#最后的181.0.0.0/8需要与自己的服务器的ip对应,我就是这里改成了真实ip,一直配置不成功,在log中看到waring才意识到这里错了 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128,181.0.0.0/8 
#设置的邮箱目录名称,postfix采用dovecot-auth认证的话,默认系统中的用户就是邮箱的用户,当设置成如下的邮箱目录时,会在每个用户的主目录下创建一个Maildir目录用来存放邮件。 
home_mailbox = Maildir/

您可以运行 postconf -n 命令以转储 Postfix 主配置文件并检查最终错误

#  postconf -n

1535100777.png

完成所有配置后,重新启动 Postfix 守护程序以应用更改并通过运行 netstat 命令检查 Postfix 主服务是否在端口 25 上运行。

#  systemctl restart postfix
#  systemctl status postfix
#  netstat -tlpn

请输入图片描述

  1. 在 Debian 上测试 Postfix 邮件服务器

为了测试 postfix 是否可以处理邮件传输,首先通过运行以下命令安装 mailutils 包。

#  apt-get install mailutils

接下来,使用邮件命令行实用程序,将邮件发送到 root 帐户,并通过发出以下命令检查邮件是否已成功传输,以便检查邮件队列并列出根目录的主 Maildir 目录的内容。

#  echo “ 邮件正文 ” | mail -s “ 邮件主题 ” root 
#  mailq  
#  mail  
#  ls Maildir/  
#  ls Maildir/new/  
#  cat Maildir/new/[TAB]

1415104637

您还可以通过发出以下命令来检查邮件日志文件的内容,以验证 postfix 服务处理邮件的方式

#  tailf /var/log/mail.log

如果以上结果和你的测试结果吻合, postfix 的配置就正确完成了

4. 在 Debian 上安装和配置 Dovecot IMAP

我们将在本指南中用于将电子邮件传递到本地收件人邮箱的邮件传递代理是 Dovecot IMAP 。 IMAP 是一种在 143 和 993 ( SSL )端口上运行的协议,负责在多个电子邮件客户端上读取,删除或移动邮件。

IMAP 协议还使用同步,以确保每个消息的副本保存在服务器上,并允许用户在服务器上创建多个目录,并将邮件移动到此目录,以便对电子邮件进行排序。

POP3 协议不是这种情况。 POP3 协议不允许用户在服务器上创建多个目录来对邮件进行排序。您只有收件箱文件夹来管理邮件。

要在 Debian 上安装 Dovecot 核心服务器和 Dovecot IMAP 包,请执行以下命令。

# apt install dovecot-core dovecot-imapd

下面开始配置 dovecot:
在系统中安装 Dovecot 后,打开下面的 dovecot 文件进行编辑并进行以下更改。首先,打开 /etc/dovecot/dovecot.conf 文件,搜索并取消注释以下行:

listen = * , ::

3318684302

接下来,打开 /etc/dovecot/conf.d/10-auth.conf 进行编辑,找到并更改以下行,如下面的摘录所示。

disable_plaintext_auth = no 
auth_mechanisms = plain login

打开 /etc/dovecot/conf.d/10-mail.conf 文件并添加以下行以使用Maildir位置而不是Mbox格式来存储电子邮件。

mail_location = maildir:~/Maildir 

3609420620

要编辑的最后一个文件是 /etc/dovecot/conf.d/10-master.conf 在这里搜索Postfix smtp-auth块并进行以下更改:

#Postfix smtp-auth 
unix_listener / var / spool / postfix / private / auth { 
 mode = 0666 
 user = postfix 
 group = postfix 
 } 

2075497405

完成上述所有更改后,重新启动Dovecot守护程序以反映更改,检查其状态并通过发出以下命令验证Dovecot是否在端口143上绑定。

#  systemctl restart dovecot.service 
#  systemctl status dovecot.service
#  netstat -tlpn 

1212794652

通过向系统添加新用户帐户并使用telnet或netcat命令连接到SMTP服务器并向新添加的用户发送新邮件来测试邮件服务器是否正常运行,如下面的摘录所示。

#  adduser matie 
#  nc localhost 25 
#  ehlo localhost 
mail from: root 
rcpt to: matie 
data 
subject: test 
Mail body 
. 
quit 

3112571459

通过列出用户主目录的内容,检查邮件是否已到达新用户邮箱,如下面的屏幕截图所示。

#  ls /home/test_mail/Maildir/new/ 

1525767257

此外,您可以通过IMAP协议从命令行连接到用户的邮箱,如下面的摘录所示。新邮件应列在用户的收件箱中。

#  nc localhost 143 
x1 LOGIN matie user_password 
x2 LIST “” “*” 
x3 SELECT INBOX
x4 LOGOUT 

至此Dovecot配置和测试完成

5.配置邮箱客户端连接邮件服务器

账号密码就是使用adduser创建的用户的账号,不是邮件的地址,没有配置ssl所以不勾选ssl
如果配置不成功,使用以下命令查看mail的日志定位错误位置

#  tail -f /var/log/mail.log 

2967568027

域名解析的设置参考这个回答

在用邮箱域名mx记录未指向企业邮服务? - 福洽邮件系统的回答 - 知乎
3388681445

https://www.zhihu.com/question/66897463/answer/260533253

配置ssl

在以上配置的基础上,再进行以下配置
下表指定了用于特定传输协议执行的端口。
协议 用法 纯文本/加密会话 仅限加密会话
POP3 接收邮件 110 995
IMAP 接收邮件 143 993
SMTP 外发邮件 25 465
服从 外发邮件 587
修改配置/etc/dovecot/conf.d/10-ssl.conf
取消注释

ssl = yes 
ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem 
ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key 

修改/etc/postfix/master.cf
打开并保护端口587:

inet n - y - - smtpd 
-o syslog_name = postfix / submission 
-o smtpd_tls_security_level = may 
-o smtpd_sasl_auth_enable = yes 

打开并保护端口465:

smtps inet n - y - - smtpd 
-o syslog_name = postfix / smtps 
-o smtpd_tls_wrappermode = yes 
-o smtpd_sasl_auth_enable = yes 

763755498

参考网站:
Ubuntu 16.04 布置postfix 、dovecot 邮件服务器
配置dovecot 常见错误及解决方法
配置中常用的命令
ubuntu 软件包的安装和卸载和查询等命令
https://vorkbaard.nl/installing-a-mailserver-on-debian-8-part-3-mta-postfix/
https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/

  评论
  •  评论已关闭