Shell 脚本自动安装公司内部邮箱服务器--Postfix

简介:

Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最普遍的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是经过sendmail来投递的,大约有100万用户使用sendmail,天天投递上亿封邮件。这真是一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。linux

搭建企业邮箱的好处:

1.全面统一企业形象,方便企业形象的推广,同时能够方便产品的推广。
2.对于员工流动,形成信息外泄和资源没法保留提供保证;若是员工使用我的邮箱,离职时必然带走邮箱;
3.便于企业统一管理,设置权限和分文别类,方便企业内部信息交流,沟通和协助;
4.优于我的邮箱的稳定性,安全性及其服务性;
5.有海外转发服务器,这样对于国外邮件的往来不容易丢失和退回邮件。
6.还有一些其它功能,好比防止病毒、手机短信提醒、邮件传真、备份、监控windows

脚本环境

1.linux centos 7 系统
2.系统可链接外网
3.网络模式:自动桥接模式centos

实验步骤

1.上传postfix脚本到Linux系统/root目录下

chmod +x *.sh 添加执行权限安全

2.脚本postfix.sh详解

#!/bin/bashbash

#自动本机获取网段
net=`ifconfig ens33 | grep "netmask" | awk '{print $2}' | cut -c 1-9`
#自动获取本机ip
ip=`ifconfig ens33 | grep "netmask" | awk '{print $2}'`服务器

#下载postfix相关软件包
down_postfix()
{
#关闭防火墙,安全性
systemctl stop firewalld
setenforce 0
echo -e "\033\t[34m 正在下载postfix相关软件包 ... \033[0m" && sleep 1
yum install -y bind postfix dovecot
}网络

#修改相关配置文件
setup_file()
{
echo -e "\033\t[34m 正在修改DNS相关配置文件 ... \033[0m" && sleep 1
#编辑DNS主配置文件
#容许监听全部端口
sed -i "13s/127.0.0.1/any/" /etc/named.conf
#容许接收全部网段
sed -i "21s/localhost/any/" /etc/named.confdom

#修改编辑区域配置文件
#定义域名及区域数据配置文件名
sed -i "24i zone \"\benet.com\"\ IN {\n\
type master;\n\
file \"\benet.com.zone\"\;\n\
allow-update { none; };\n\
};" /etc/named.rfc1912.zoneside

#新建正向解析文件
cp -p /var/named/named.localhost /var/named/benet.com.zone
#添加管理员邮箱
sed -i "2s/rname.invalid./admin/" /var/named/benet.com.zone
#添加本机ip地址
sed -i "9s/127.0.0.1/$ip/" /var/named/benet.com.zone
#指定邮件交换记录
sed -i "10c IN MX 5 mail.benet.com." /var/named/benet.com.zone
#解析主机地址
echo "mail IN A $ip" >>/var/named/benet.com.zone
#添加本机解析hosts文件
echo "$ip mail.benet.com" >>/etc/hosts函数

#修改postfix相关配置文件
echo -e "\033\t[34m 正在修改postfix相关配置文件 ... \033[0m" && sleep 1
#修改发信服务器主机名
sed -i "75c myhostname = mail.benet.com" /etc/postfix/main.cf
#修改发信服务器域名
sed -i "83c mydomain = benet.com" /etc/postfix/main.cf
#修改发信人地址邮件域名
sed -i "99s/#//" /etc/postfix/main.cf
#开启监听ip地址为all
sed -i "113s/#//" /etc/postfix/main.cf
#关闭只监听本地ip
sed -i "116s/^/#/" /etc/postfix/main.cf
#设置邮件存放位置
sed -i "419s/#//" /etc/postfix/main.cf
#修改收件人地址和邮件域名
sed -i '164c mydestination = $mydomain, $myhostname' /etc/postfix/main.cf

#修改devocot相关配置文件
echo -e "\033\t[34m 正在修改devocot相关配置文件 ... \033[0m" && sleep 1
#开启收件服务
sed -i "24s/#/ /" /etc/dovecot/dovecot.conf
#设置容许收件的网段
sed -i "48c login_trusted_networks = $net.0/24" /etc/dovecot/dovecot.conf
#开启邮箱的位置及格式
sed -i "24s/#/ /" /etc/dovecot/conf.d/10-mail.conf
}

#重启全部服务
restart_service()
{
#重启dns服务
systemctl restart named
#重启发件postfix服务
systemctl restart postfix
#重启收件dovecot服务
systemctl restart dovecot
}

#函数汇总
main()
{
down_postfix && setup_file && restart_service
}

#执行全部函数
main

3.验证脚本

1.执行脚本

./postfix.sh #运行脚本

2.查看服务端口

Shell 脚本自动安装公司内部邮箱服务器--Postfix

3.建立测试用户zhangsan,lisi

groupadd mailusers #添加用户邮箱测试
useradd -g mailusers -s /sbin/nologin zhangsan #添加zhangsan 用户
useradd -g mailusers -s /sbin/nologin lisi #添加lisi用户
passwd zhangsan #设置zhangsan密码
passwd lisi #设置lisi密码

知识点讲解:

useradd -g mailusers -s /sbin/nologin zhangsan 是添加zhangsan用户加入组里,不登陆linux系统
而useradd zhangsan 是能够登陆linux系统的
2者建立的用户均可以登陆邮箱,不一样建立方式的,也能够相互发送邮件,邮箱方面不受影响!

3.安装Foxmail

1.官网下载地址:https://www.foxmail.com/ ,选择windows版本或mac版本。

2.先设置本地电脑dns服务器地址
Shell 脚本自动安装公司内部邮箱服务器--Postfix

备注:192.168.0.1 是电脑是本地路由网关地址,为了链接外网
192.168.0.200 是dns服务器地址,为了解析mail.benet.com 域名

3.安装好Foxmail后运行,设置帐号,点击手动设置

Shell 脚本自动安装公司内部邮箱服务器--Postfix

4.设置邮箱帐号,密码,pop服务器,SMTP服务器,其余默认便可,点击建立,完成

Shell 脚本自动安装公司内部邮箱服务器--Postfix
Shell 脚本自动安装公司内部邮箱服务器--Postfix

5.在zhangsan帐户下右击设置,建立lisi用户,设置同zhangsan用户

Shell 脚本自动安装公司内部邮箱服务器--Postfix
Shell 脚本自动安装公司内部邮箱服务器--Postfix

6.zhangsan用户发信给lisi用户

Shell 脚本自动安装公司内部邮箱服务器--Postfix

7.lisi收信查看

Shell 脚本自动安装公司内部邮箱服务器--Postfix

8.lisi回复测试

Shell 脚本自动安装公司内部邮箱服务器--Postfix

9.zhangsan收信测试

Shell 脚本自动安装公司内部邮箱服务器--Postfix

坑点讲解

以上操做教程只用于虚拟机演示,作实验部分。如果真实公司搭建内网邮箱,是不会这么顺利的,会出现不少问题

问题一:有的电脑邮箱顺利登录,但有的电脑邮箱登录失败

Shell 脚本自动安装公司内部邮箱服务器--Postfix

问题二:一开始邮件收发都正常,过一段时间后,发现邮件发送失败或收件失败。

Shell 脚本自动安装公司内部邮箱服务器--Postfix

缘由分析:出现这样问题的缘由多是由于域名解析故障或本身搭建的dns服务器解析不稳定

解决方法:

方法1.添加本地hosts文件解析

Shell 脚本自动安装公司内部邮箱服务器--Postfix
Shell 脚本自动安装公司内部邮箱服务器--Postfix

方法2.设置服务器时填写IP地址代替域名

Shell 脚本自动安装公司内部邮箱服务器--Postfix

通过屡次测试,我发现了最方便,最稳定的方案就是如下4步:

1.搭建postfix服务时直接不用dns服务

2.在本地也不填写dns服务器地址,自动获取便可

Shell 脚本自动安装公司内部邮箱服务器--Postfix

3.添加本地hosts文件解析(见方法1图)

4.设置服务器时填写IP地址代替域名(全部用户必作步骤)

Shell 脚本自动安装公司内部邮箱服务器--Postfix

备注:1,2,3步是选作步骤,4是必作步骤,为了保险,4步都操做一下最好!

其余坑点:

Mac系统登陆失败,这是因为mac版本foxmail和Windows版本帐户设置不同

解决方法:填写以下图帐户信息
Shell 脚本自动安装公司内部邮箱服务器--Postfix

总结:

1.公司局域网搭建邮箱服务器推荐使用postfix.
2.脚本文件不建议直接复制,可下载个人资料 https://down.51cto.com/data/24640533.文中搭建的邮箱服务器即为公司内部服务器,只能在内网中使用,若要外网使用,须要申请外网域名。

相关文章
相关标签/搜索