课堂笔记 -10.17.note
电子邮件在发送过程中 遵循一些协议:
·SMTP:简单邮件传输协议(用来发送邮件)
·IMAP:网络邮件访问协议(用户从服务器上访问或下载邮件)
投递之前,需要通过DNS解析邮箱域名,解析出 ip地址后,再通过ip地址发送邮件
专有名词:
MUA:邮件用户代理
MSA:邮件投递代理
MDA:邮件派递代理
一、搭建 本地 邮件服务器
先配置 DNS
DNS中 需要 有一个 MX 的记录
- 节约时间,不配置dns,编辑本地解析:
1.
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、只在本地投递邮件
- 这里选择默认的 2, Internet Site
1.
- 设置邮件名称:(FQDN) 直接输入你的域名:
1.
Elysia.com
ss -ntpul | grep master服务器装好后,默认情况下就能够进行邮件的收发
- 创建一个用户:
1.
adduser zhangsan
adduser lisi- 安装收发邮件的软件包:(命令行用户代理)
1.
apt install mailutils- 使用 zhangsan给 lisi 发送邮件
1.
mail -r zhangsan lisi
# 回车
# 写一个主题
Hello I am zhangsan
# 使用 句号 : ' . ' 结束- 查看lisi的邮件
1.
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
- 发送邮件:
1.
ehlo mail.Elysia.com
mail from:zhangsan@Elysia.com
rcpt to:lisi@Elysia.com
data
hello lisi,I am zhangsan
.
quit- 在 服务器上查看:
1.
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- 在客户端查看邮件是否发送 成功:
1.
apt install dovecot-imapdcd /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 //不加密发邮件不需要认证
- 图形化客户端:
1.
apt install -y claws-mail //邮件客户端dovecot 提供访问
143 端口,默认不加密postfix 是邮件服务器,用来接收、存储邮件
默认不加密端口 25
加密端口 465
消息提交端口 587dovecot 用来给客户端用来访问邮件
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