Shell 脚本自动安装PC蛋蛋软件定制开发公司内部邮箱服务器

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

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

脚本环境
1.linux centos 7 系统
2.系统可连接外网
3.网络模式:NAT模式

实验步骤
1.上传postfix脚本到Linux系统/root目录下
chmod +x *.sh 添加执行权限

2.脚本postfix.sh详解
#!/bin/bash

#自动本机获取网段
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.conf

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

#新建正向解析文件
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 KaTeX parse error: Expected 'EOF', got '#' at position 33: …benet.com.zone #̲添加本机解析hosts文件 e…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

你可能感兴趣的:(Shell 脚本自动安装PC蛋蛋软件定制开发公司内部邮箱服务器)