***************4.配置电子邮件传输*****************##1.基本电子邮件配置##配置dns服务,添加MX记录两台服务器分别配置 /etc/postfix/main.cf文件
myhostname--主机名
mydomain--域名
myorigin--重写本地发布的电子邮件,使其显示为来自该域。这样有助于确保响应返回入站邮件服务器
inet_interfaces--控制Postfix侦听传入电子邮件的网络接口。如果设置为all,则侦听所有网络接口。还可以指定特定地址。
mydestination--收到地址为这些域的电子邮件将传递至MDA,以进行本地发送。
重启服务
将mail_linux进行同样的配置
测试
附:mailq //查看队列中的邮件postqueue -f //处理队列中的邮件postsuper -d ID //删除ID的邮件> /var/mail/root //清空root用户邮件postconf -d //显示配置文件默认值。postconf -n //显示配置文件不同于默认值的更改。postconf -e "..." //更改配置
##2.用户别名##1.匿名邮件
1.修改配置文件,匿名用户对应,前面为匿名,后面为真实用户名,若真实用户名包含为一文件,可用来群发邮件。
2.创建别名数据库
3.重启服务
4.测试
匿名测试:
群发测试:
##3.邮箱别名## --出站地址伪装
1.修改配置文件
添加伪装地址
2.使配置文件立即生效
3.修改主配置文件里smtp_generic_maps
4.重启服务
5.测试:
##4.远程检测端口##
通过远程主机检测mail_westos的25端口
查看结果
##限制发送##
1.通过ip进行限制 //冻结主机
在/etx/postfix/下编辑文件 access,在文件末尾添加所要限制的ip 和REJECT语句
例如:
172.25.254.8REJECT
然后利用postmap access 使文件立即生效
然后在主配置文件中添加
重启服务后测试
2.通过邮箱进行限制 //冻结邮箱
限制发送
在/etx/postfix/下编辑文件 sender(文件名可自定义),在文件末尾添加所要限制的邮箱地址和REJECT语句
例如:
student@westosREJECT
然后利用postmap sender 使文件立即生效
然后在主配置文件中添加
重启服务后测试
限制接收
在/etx/postfix/下编辑文件 recipient(文件名可自定义),在文件末尾添加所要限制的邮箱地址和REJECT语句
例如:
student@westosREJECT
然后利用postmap recipient 使文件立即生效
然后在主配置文件中添加
重启服务后测试
解除限制
删除配置文件中的限制,postmap 配置文件,最后重启服务
## 2.邮件接收服务,dovecot ##
1.安装dovecot服务 yum install dovecot -y
2.配置dovecot服务
在/etc/dovecot/下配置主配置文件dovecot.conf
在/etc/dovecot/conf,d/下配置文件10-mail.conf
重启服务后测试
在服务端添加用户test并为用户设置密码,切换到test用户,并执行以下操作
切换到root用户给test用户发一封邮件
测试端,安装mutt邮件管理器进行测试
Yum install mutt -y
使用mutt -f imap://test@ip进行测试
## 3.利用mysql创建虚拟用户 ##
1.安装所需服务 mariadb-server,httpd.php,php-mysql等,建立图形化管理数据库,并在数据库中建立库email和email库中的表muser,表中内容如下,参考mariadb笔记。
2.添加数据库用户postfix,并给用户添加 INSERT,UPDATE,SELECT等权限
3.添加vmail组和vmail用户
4.在/etc/postfix/中分别编辑以下三个文件
Vim mysql-users
Vim mysql-domain
Vim mysql-maildir
然后分别用postmap -q 使文件生效 -p 查看生效结果
5.在主配置文件/etc/postfix/main.cf下添加如下参数
重启服务后,虚拟用户就配置好了。可以给虚拟用户发一封邮件测试一下,在/home/vmail/westos.org/new可是查看发送给虚拟用的邮件。但是用户现在没有接受邮件的服务,我们还需要给虚拟用户配置dovecot服务,这一个完整的用户就被创建出来了。
1.安装dovecot-mysql插件
2.配置dovecot服务,同上笔记。
3.拷贝配置文件到/etc/doveocot,并进行编辑
Cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext/etc/dovecot/
Vim /etc/dovecot/dovecot-sql.conf.ext
32 driver = mysql71 connect = host=localhost dbname=email user=postfix password=postfix78 default_pass_scheme = PLAIN107 password_query = \108 SELECT username, domain, password \109 FROM muser WHERE username = '%u' AND domain = '%d'125 user_query = SELECT maildir, 666 AS uid, 666 AS gid FROM muser WHERE username = '%u'
4.编辑/etc/dovecot/conf.d/10-auth.conf打开第 123 行 !include auth-sql.conf.ext
5.编辑/etc/dovecot/conf.d/10-mail.conf30 mail_location = maildir:/home/vmail/%d/%n168 first_valid_uid = 666175 first_valid_gid = 666
6.重启服务systemctl restart dovecot.service
## 空壳邮件 ##
实际上,大多数组织不再只用一个邮件服务器来处理所有入站和出站电子邮件。相反,出于安全方面的考虑邮件服务器专门针对特定角色进行了设置,以便可以面向其具体针对的应用程序更好标准角色包括:
null客户端:运行本地MTA的客户端计算机,使所有电子邮件都可以转发至中央邮件服务器以进行发送,null客户端不接受任何电子邮件的本地发送。仅入站邮件服务器:在站点处理用户的所有传入电子邮件,并将之传递给MD以发送至用户邮件存储位置的邮件服务器。在实际情况中,通常会在仅入站邮件服务器前端安装反垃圾邮件服务器或设备,以过滤垃圾邮件并且仅将 正常邮件转发至入站邮件服务器。出站邮件转发:出站邮件转发(或“smarthost”)接收所有出站邮件,并使用MX记录和SMTP协议将邮件转发至目标位置 。
1.代理服务器的配置
修改主配置文件/etc/postfix/main.cf
主机名:代理服务器主机名
域名:代理服务器域名
邮件地址后缀名
侦听所有网络接口
设置为空,不接受任何电子邮件传送给MDA
本地发送
转发邮件目的地
然后重启服务
1.主服务器的配置
修改主配置文件/etc/postfix/main.cf
接受转发自哪里的邮件
然后重启服务
空壳邮件服务就配置好了
我们还可以图形化的邮件服务来管理邮件,比如thunderbird
用我们的虚拟用户登录来做一个小的介绍