课堂笔记 -10.17.note

noteId: B4083EA067894CD8874F614132895D92 · 原始路径:/ALL/Linux - A模块/服务配置/Mail 邮件服务/课堂笔记 -10.17.note · 图片:4 · 附件待处理:0

 
电子邮件在发送过程中 遵循一些协议:
·SMTP:简单邮件传输协议(用来发送邮件)
·IMAP:网络邮件访问协议(用户从服务器上访问或下载邮件)
 
先发送给 本地邮件服务器,同一个服务器上的,比如 user1@qq.com 发送给 user2@qq.com,直接本地进行,不需要经过互联网
user1@a.com 想要发送给 user2@b.com 需要经过互联网投递
投递之前,需要通过DNS解析邮箱域名,解析出 ip地址后,再通过ip地址发送邮件
 
 
专有名词:
MUA:邮件用户代理
MSA:邮件投递代理
MDA:邮件派递代理
 
 
一、搭建 本地 邮件服务器
 
先配置 DNS
DNS中 需要 有一个 MX 的记录
 
192.168.10.10 mail.Elysia.com Elysia.com
一般来说只需要在客户端上书写,但是这里选择在 服务器和客户端上都书写本地 hosts 文件
 
 
Debian 中 有两个邮件服务器:
apt search exim
apt search postfix
 
· 这里选择 postfix:默认情况下监听 TCP 25 号端口
apt install -y postfix
· 选择配置类型:
1、不改变
2、发送接收 投递 SMTP
3、会使用 工具 投递文件
4、所有邮件发送到另一台机器
5、只在本地投递邮件
 
Elysia.com
 
 
 
ss -ntpul | grep master
 
服务器装好后,默认情况下就能够进行邮件的收发
 
adduser zhangsan
adduser lisi
 
apt install mailutils
 
mail -r zhangsan lisi
# 回车
# 写一个主题
Hello I am zhangsan
 
# 使用 句号 : ' . ' 结束
 
 
mail -u lisi
1
# 输入邮件序号查看邮件
# 输入 quit 退出
 
 
su lisi
mail zhangsan@Elysia.com
# 内容:
replay
 
# . 结束, Ctrl + d 发送
 
 
 
图形化 客户端:
 
apt install -y mailutils
 
 
 
· 在服务器上查看
mail -u lisi
1
# 可以发现并没有收到
因为这是本地的 email ,因此无法发送到服务器
 
 
图形化:
需要先连接 服务器:
telnet mail.Elysia.com smtp
 
 
ehlo mail.Elysia.com
mail from:zhangsan@Elysia.com
rcpt to:lisi@Elysia.com
data
hello lisi,I am zhangsan
.
quit
 
 
mail -u lisi
2
 
成功
 
 
 
 
进行配置:
 
cd /etc/postfix
main.cf    //主配置文件
master.cf    //运行状态的配置
# /192.168.10.0/24 这里是指定允许连接的网段
 
查看选项:
postconf --help
-d    //列出所有参数默认值
-n    //没有默认值的参数
 
36行: 允许投递的条件(定义哪些客户端能够使用服务器)    //
 
relayhost    //中继主机,将邮件发送给其它服务器帮助你去转发
 
 
43行:     mynetworks    //自定义网络允许起发送文件
 
systemctl restart postfix
 
apt install dovecot-imapd
 
cd /etc/dovecot
vim dovecot.conf    //主配置文件
 
cd conf.d
vim 10-auth.conf
 
 
 
cd /etc/dovecot    
cd conf.d    //功能性配置文件
10-auth.conf    //认证,定有如何认证,是否允许明文登陆等
 
10-mail.conf    //邮箱的位置(邮件存储的位置【txt文本存储】)
    mail_location     //邮件存放的位置
    如果修改了这个配置,要在postfix中修改发送邮件的位置
    
10-master.conf    //对于进程的控制,监听的端口等
    默认监听 143,SSL 加密的监听 993
    
10-ssl.conf    //用于 SSL 加密的配置文件,定义证书公钥、私钥路径
 
10-tcpwrapper.conf    //应用防火墙,控制允许哪些网段能够访问,哪些不能够访问,保持默认无需配置
 
15-lda.conf    //用于lmtp协议,保持默认无需配置
 
15-mailboxes.conf    //定义了 草稿箱、发件箱 等位置,保持默认无需配置
 
20-imap.conf    //关于 imap的设置,保持默认无需配置
 
90-acl.conf    //邮箱的访问控制列表,设置权限,保持默认无需配置
 
90-plugin.conf    //补丁,保持默认无需配置
 
90-quota.conf    //限额,保持默认无需配置
 
dovecot 默认打开了 SSL
 
dovecot 配置
 
实际上的配置:
10-auth.conf    //打开允许明文,允许使用本地数据
10-ssl.conf    //关闭 ssl 的加密
systemctl restart dovecot
 
图形化:
打开 Evolution
 
STARTTLS    //在连接之后进行加密
No encryption    //不加密
 
 
发邮件不需要认证
 
apt install -y claws-mail    //邮件客户端
 
 
dovecot 提供访问
143 端口,默认不加密
 
postfix 是邮件服务器,用来接收、存储邮件
默认不加密端口 25
加密端口 465
消息提交端口 587
 
dovecot 用来给客户端用来访问邮件
 
25号端口:投递端口
143端口:接收端口
 
 
 
 
二、配置 TLS/SSL 加密:
 
1、配置 postfix 加密:
 
postfix 默认25号端口
两种加密方式:
1、直接在25号端口上加密
2、使用加密端口 465
 
将 smtp 改成 smtps (就能够将监听 25 号端口,改成 465 加密端口)
# 打开相关选项
 
证书和私钥路径修改文件:
/etc/postfix/main.cf
 
 
2、dovecot 加密:
- 开启 SSL:
cd /etc/dovecot/conf.d
vim 10-ssl.conf
将 ssl 开启
 
- 更改监听端口:
vim /etc/dovecot/conf.d/10-master
在 143 端口下加一条:port = 0
加密的dovecot监听的是 993 端口
 
 
客户端要选择 TLS ,而不是选择 STARTTLS
 
在 main.cf 中加上两个选项:
smtpd_use_tls = no
smtpd_tls_wrappermode = no
将这个选项加入到 main.cf 中,改为:
smtpd_use_tls = yes
smtpd_tls_wrappermode = yes
 
如果想要加密端口和不加密端口一同监听,则可以写 smtp 和 smtps
 
 
 
lmtp