大家好,欢迎来到IT知识分享网。
电子邮件系统
电子邮件系统基于邮件协议来完成电子邮件的额传输,常见的邮件协议有下面这些。
简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。
邮局协议版本3(Post Office Protocol 3,POP3):用于将电子邮件存储到本地主机,占用服务器的10/TCP端口。
Internet消息访问协议版本4(Internet Message Access Protocol 4,IMAP4):用于在本地主机上访问邮件,占用服务器的143/TCP端口。
在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)。
邮件投递代理(Mail Delivery Agent,MDA),是把来自邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。
MTA是转发处理不同电子邮件服务供应商之间的邮件,把来自于MUA的邮件转发到合适的MTA服务器。
生产环境中部署企业级的电子邮件系统时,有4个注意事项:
添加反垃圾与反病毒模块:它能够很有效地阻止垃圾邮件或病毒邮件对企业信箱的干扰。
对邮件加密:可有效保护邮件内容不被黑客盗取和篡改。
添加邮件监控审核模块:可有效地监控企业全体员工的邮件中是否有敏感词、是否有透露企业资料等违规行为。
保障稳定性:电子邮件系统的稳定性至关重要,保证稳定运行并及时做好防范分布式拒绝服务攻击(Distributed Denial of Service,DDoS)的准备。
部署基础的电子邮件系统
一个最基础的电子邮件系统要有收发邮件服务,使用基于SMTP协议的Postfix服务程序提供发件服务功能,使用基于POP3协议的Dovecot服务程序提供收件服务功能。
第一步:配置服务器主机名称,保证服务器主机名称与发信域名保持一致
[root@linuxprobe ~]# vim /etc/hostname [root@linuxprobe ~]# cat /etc/hostname mail.linuxprobe.com [root@linuxprobe ~]# hostname linuxprobe.com [root@linuxprobe ~]# hostnamectl set-hostname mail.linuxprobe.com [root@linuxprobe ~]# hostname mail.linuxprobe.com
第二步:清空iptables防火墙默认策略,并保存策略状态,避免因防火墙中默认存在的策略阻止了客户端DNS解析域名及收发邮件
# iptables -F # service iptables save # firewall-cmd --permanent --zone=public --add-service=dns # firewall-cmd --reload
第三步:为电子邮件系统提供域名解析。bind-chroot服务程序主配置文件、区域配置文件和域名数据文件配置。
# vim /etc/named.conf # cat /etc/named.conf
# vim /etc/named.rfc1912.zones # cat /etc/named.rfc1912.zones # cp -a /var/named/named.localhost /var/named/linuxprobe.com.zone # vim /var/named/linuxprobe.com.zone # cat /var/named/linuxprobe.com.zone # systemctl restart named # systemctl enable named
修改好配置文件后记得重启bind服务程序,这样电子邮件系统所对应的服务器主机名即为mail.linuxprobe.com,而邮件域为@linuxprobe.com。把服务器的DNS地址修改成本地IP地址
配置Postfix服务程序
# yum install postfix
第二步:配置Postfix服务程序。主配置文件(/etc/postfix/mai.cf)。
Postfix服务程序主配置文件中的重要参数
Postfix主配置文件中,总计需要修改5处。
首先是在第95行定义一个名为myhostname的变量,用来保存服务器的主机名称。
然后在第102行定义一个名为mydomain的变量,用来保存邮件域的名称。
在第118行调用前面的mydomain变量,用来定义发出邮件的域。调用变量好处避免重复写入信息。
第4处修改是在第135行定义网卡监听地址。可以指定要使用服务器的哪些IP地址对外提供电子邮件服务;也可以干脆写成all,表示所有IP地址都能提供电子邮件服务。
最后一处修改是在第183行定义可接收邮件的主机名或域名列表。这里可以直接调用前面定义好的myhostname和mydomain变量(如果不想调用变量,也可以直接调用变量中的值)。
# vim /etc/postfix/main.cf 95 myhostname=mail.linuxprobe.com 102 mydomain = linuxprobe.com 118 myorigin = $mydomain 135 inet_interfaces = all 183 mydestination = $myhostname , $mydomain
第三步:创建电子邮件系统登录账号。Postfix与vsftpd服务程序一样,可调用本地系统的账号和密码,因此在本地系统创建常规账号即可。
# useradd boss # echo “linuxprobe” | passwd --stdin boss (密码就是linuxprobe) # systemctl restart postfix # systemctl enable postfix
配置Dovecot服务程序
# yum install dovecot
第二步:配置部署Dovecot服务程序。
先24行,把Dovecot服务程序支持的电子邮件协议改为imap、pop3、lmtp。
然后在这行下面添加一行参数,允许用户使用明文进行密码验证。这样的原因是Dovecot服务程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录,由于目前没有加密系统,因此要添加该参数来允许用户的明文的登录。
49行,设置允许登录的网段地址,意思是限制某网段才能使用电子邮件系统。如不限制,则不用修改。
# vim /etc/dovecot/dovecot.conf 24 protocols = imap pop3 lmtp 25 disable_plaintext_auth = no 49 login_trusted_networks = 192.168.153.0/24
第三步:配置邮件格式与存储路径。在Dovecot子配置文件中,定义一个路径,将收到的邮件存放到服务器本地的某个位置。
# vim /etc/dovecot/conf.d/10-mail.conf 25 mail_location = mbox:~/mail:INBOX=/var/mail/%u
切换到前面创建的boss账户,并在家目录中建立用于保存邮件的目录。
# su - boss $ mkdir -p mail/.imap/INBOX $ exit # systemctl restart dovecot #systemctl enable dovecot
还要记得把上面提到的邮件协议在防火墙中的策略予以放行,这样客户端就能正常访问了
# firewall-cmd --permanent --zone=public --add-service=imap # firewall-cmd --permanent --zone=public --add-service=pop3 # firewall-cmd --permanent --zone=public --add-service=smtp # firewall-cmd --reload
测试电子邮件系统
# yum install -y mailx # mailx
第一步:win7中允许foxmail程序进行配置。
第二步:配置电子邮件账户。
第三步:选择电子邮件服务的协议类型,默认即可。
第四步:填写电子邮件账户信息,注意电子邮件地址和密码输入前面创建的用户及密码:,linuxprobe。
第五步:进行电子邮件服务登录验证,因为没有可用的SSL加密服务,所以大约半分钟左右,会报错,直接下一步即可,让通过非加密方式验证登录。
第六步:发送邮件。成功发送之后,在邮件服务器用命令mail可以看到新邮件的提醒,看邮件的完整内容,只需输入收件人姓名前的编号即可。
查看boss通过foxmail发给root的邮件
设置用户别名信箱
用户别名功能是一项简单实用的邮件账户伪装技术,可以用来设置多个虚拟信箱的账户接收发送的邮件,保证自身的邮件地址不被泄露,还可接收自己的多个信箱中的邮件。
现在向haha用户发送邮件,在尝试用haha账户登录是登录不了的(没有haha账号),但是用mail可以看到原本发送给haha用户的邮件已经被存放到linuxprobe账户的信箱中。是不是奇怪!这就是用户别名技术。
为了能够在Linux中可以图形界面查看邮件,可以安装下雷鸟
# yum install -y thunderbird # thunderbird
在aliases邮件别名服务的配置文件中可看到,里面定义了大量的用户别名,大多数是Linux系统本地的系统账户,在冒号(:)间隔符后面的root账户则是来接收这些账户邮件的人。
用户别名可以是linux系统内的本地用户,也可是完全虚构的用户名字。
aliases邮件别名服务的配置文件是专门来定义别名与邮件接收人的映射。
可以自行定义一些别名来接收邮件,如建一个haha账户,真正接收邮件的是linuxprobe账户。
# vim /etc/aliases # newaliases
保存后,执行newaliases命令立即生效。再发邮件到haha账户,linuxprobe账户就可以可以看到邮件内容。
注意:千万不要看到某些网站提供了很多客服信箱就轻易相信别人,可能都是同一个人。
照片
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/141736.html