如何搭建邮件服务器(搭建自己的企业邮箱方法)

Think Cloud Think Oracle

一、自建邮件服务器的原则

客户原来的想法是直接购买商业版的企业邮件服务器,结果直接被他老板给驳回了,原因有两点:一是企业邮件服务器中难免会有公司商业机密信息,跑在共享的公有云环境中,安全很难保证;第二点是公司需要至少3TB的邮件存储空间,商业版的邮件服务器报价太高了。

本文中记录了在Oracle IaaS环境搭建企业级邮件服务器的全部关键步骤和技术指标,涉及主机名处理、软件安装、DNS记录解析、反垃圾邮件、邮件客户端配置、域名与账户管理等关键步骤,所以行文有些冗长。以下文字内容为技术文档形式,您可以选择性阅读。

二、硬件环境与软件配置

1、IaaS环境:

硬件配置:2 OCPU 15G内存 3TB存储空间,600用户,每人5G存储空间

操作系统:Ubuntu 16.04 LTS 64位

主机名:

dc9XXX.compute-XXXXX.oraclecloud.internal

2、邮件服务器软件:

iRedMail是一个开源、免费的邮件服务器项目,其核心组件及其对应的功能主要有:

Postfix: SMTP 服务器;

Dovecot:POP3/IMAP/Managesieve 服务器;

Apache: Web服务器;

MySQL: 用于存储其它程序的数据,也可用于存储邮件帐号;

Amavisd: 提供 DKIM 签名及校验、SPF校验、为外发邮件添加“免责声明”内容,并调用 SpamAssassin 做基于邮件内容的发垃圾扫描,调用 ClamAV 做邮件病毒扫描;

Awstats: 用于分析 Apache 和 Postfix 日志文件,并生成简单的图表;

iRedAdmin:基于web的邮件帐号管理程序。

三、iRedMail安装前的准备

1、官方网站:http://www.iredmail.org/

3、执行:hostname -f 检查你的域名设置是不是正确。

4、最后执行:hostname -F /etc/hostname 让域名设置生效。

5、到你的域名DNS管理处,将域名的DNS解析到你的邮件服务器上。

6、同时添加MX记录,如下图所示:

如何搭建邮件服务器(搭建自己的企业邮箱方法)

四、iRedMail安装方法

1、执行以下代码,下载并安装iRedMail,本篇文章以Ubuntu作为操作对象,内存要求最低512MB以上:

sudo apt-get update

sudo apt-get install bzip2

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.7.tar.bz2

tar xjf iRedMail-0.9.7.tar.bz2

cd iRedMail-0.9.7

bash iRedMail.sh

2、接着就会进入到iRedMail 安装进程的欢迎页面。

3、同意后,输入你想要安装iRedMail 的位置。

4、勾选你想要安装的数据库组件,一般我们选择MysqL用来存储数据。

5、设置MysqL管理员密码。

6、填写你的邮件域名,这个域名和刚刚设置的主机域名是不能一样的。

7、接着设置Webmail和iRedAdmin管理员密码。

8、最后,就是选择iRedMail的组件,这些组件提供的都是非常实用的功能。

9、在安装组件的过程中,还会生成一些配置,你只要输入Y,回车。

10、最后,iRedMail安装完成,同时还会显示账号和密码等配置信息。

11、重启系统。

五、iRedMail管理使用

Roundcube webmail: http://your_server/mail/

iRedAdmin: http://your_server/iredadmin/

phpLDAPadmin:http://your_server/phpldapadmin/

phpMyAdmin:http://your_server/phpmyadmin/

Awstats: http://your_server/awstats/awstats.pl?config=web (或者 ?config=smtp)

4、Roundcube webmail写信页面。(支持HTML和TXT两种模式)

6、iRedAdmin是一个邮局服务器管理平台。可以添加、删除、停用用户账户和邮件域。

7、在iRedAdmin中可以查看并管理你的服务器配置,还可以对管理员和账号进行管理。

9、另外iRedAdmin还可以添加账号、域名、用户等。

10、你也可以进入phpMyAdmin 来进行MysqL管理和调整。

六、iRedMail设置SPF和DKIM

注:这部分关键点就是DNS解析规则要配置正确。

1、SPF是指Sender Policy Framework,是为了防范垃圾邮件而提出来的一种DNS记录类型,SPF是一种TXT类型的记录。不给iRedMail设置好SPF,你发出去的邮件基本上会被判定为垃圾邮件。

2、添加SPF也很简单,到你的域名DNS处添加TXT,值为(注意替换成你自己的):v=spf1 mx mx:mail.techdao.info –all 或者是 v=spf1 ip4:1.2.3.4 -all

3、DKIM(DomainKeys Identified Mail)基于传统的密钥认证方式,产生公钥(public key)和私钥(private key),公钥将会存放在 DNS服务器中, 而私钥会存放在发信服务器上。数字签名由发送服务器自动产生,并依附在邮件头中,发送到收信服务器里。

4、 邮件的接收端将会对邮件头中的签名和从DNS获取公钥进行验证, 检查邮件是否被伪造。 DKIM签名是现行通用的反垃圾技术之一,有了该配置, 邮件的到达率将会显著提升。

5、执行:amavisd showkeys 生成密钥,或者用命令:amavisd-new showkeys ,比如:

6、复制密钥,到你的域名DNS管理处添加TXT记录,记录值就是密钥。

7、再执行:amavisd testkeys 验证,成功则会显示通过。或者用命令:amavisd-new testkeys

七、iRedMail的pop3和SMTP、

批量创建用户、支持大附件

1、iRedMail支持pop3和SMTP,可以选择加密和非加密,非加密的端口pop使用110,smtp是25,加密的是995和465。Thunderbird要用993和587端口。

cd iRedMail-0.8.7/tools/

bash create_mail_user_MySQL.sh exmple.com user1 user2 user3

4、这个时候,会创建output.sql 文件

mysql -uroot -p

mysql> USE vmail;

mysql> SOURCE $path/to/output.sql;

STORAGE_BASE_DIRECTORY=”/var/vmail/vmail01″ #如果你安装的时候修改的邮件的存储路径

LDAP_SUFFIX=”dc=iredmail,dc=org” #你的ldap SUFFIX

BINDPW=’passwd’ #ldap管理员cn=manager 密码

5、最后,你也可以直接运行脚本,创建用户

bash create_mail_user_OpenLDAP.sh example.com user1 user2

6、客户端发送大附件。如果你是希望邮件客户端发送大附件,你需要运行

# postconf -e message_size_limit=’104857600′ #把附件增加到100m

7、重启postfix服务

/etc/init.d/postfix restart

upload_max_filesize = 100M;

post_max_size = 100M;

9、然后是修改 /usr/share/apache2/roundcube/.htaccess 文件

php_value upload_max_filesize 100M

php_value post_max_size 100M

10、最后,重启apache服务: /etc/init.d/apache2 restart

注意:iRedMail默认会开启,自动更新模式,全部的系统组件均会自动更新,更新报告会发到管理员邮件组。

八、iRedMail开源邮件服务器使用小结

1、iRedMail执行密钥生成的命令amavisd showkeys 和amavisd-new showkeys 作用是一样的,只不过有些操作系统不支持amavisd命令,改用amavisd-new 就好了。

2、iRedMail提供了详尽的日志报告,如果你出现无法发信或者无法收信,都可以从日志报告查找到原因,经常导致错误的原因可能是postfix、Dovecot等没有正常运行。

推荐阅读

发表评论

登录后才能评论