iredmail个人捣鼓全攻略

系统centos6.5×64
先update

1
yum update

设置一个完全合格的域名(FQDN)主机名
执行命令hostname -f以查看当前主机名:

1
mail.ctnmb.com

如果不是一个合格的域名,就要重新设置
第一个,编辑/etc/sysconfig/network文件,把hostname设置成我们需要创建的邮件域名mail.ctnmb.com
第二个,编辑/etc/hosts文件,在最上面一样加上127.0.0.1 mail.ctnmb.com mail localhost.localdomain localhost 脚本,注意其中修改成我们自己的主机名。
第三个,还要在dns中将mail.ctnmb.com指向vps的ip
重启VPS之后,再用”hostname -f”查看会看到当前的主机名已经变化成我们需要的。
——
然后开始安装
去官网下载最新的http://www.iredmail.org/download.html
我现弄的是0.9.4的

1
2
3
4
wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.4.tar.bz2
tar xjf iRedMail-0.9.4.tar.bz2
cd iRedMail-0.9.4
bash iRedMail.sh

然后看着界面安装就好了
虚拟域名就写你想要的邮箱的后缀,你想要xxx@ctnmb.com就写ctnmb.com,你想要xxx@xx.ctnmb.com就填xx.ctnmb.com
防火墙设置可以选n,mysql的要y,自己记得看清楚了
中间要等得有点久,给点耐心吧

好久好久之后,就安装成功了,接下来是一些默认的选项的修改。如果你需要用到就参考吧。
———–
装好之后要设置好SPF和DKIM
SPF:
先说spf吧,SPF是指Sender Policy Framework,是为了防范垃圾邮件而提出来的一种DNS记录类型,SPF是一种TXT类型的记录。不给iRedMail设置好SPF,你发出去的邮件基本上会被判定为垃圾邮件。
设置spf的方法:DNS处添加TXT,值为 v=spf1 ip4:xx.xx.xx.xx -all (xx.xx.xx.xx是你服务器的ip地址)

DKIM:
(DomainKeys Identified Mail)基于传统的密钥认证方式,产生公钥(public key)和私钥(private key),公钥将会存放在 DNS服务器中, 而私钥会存放在发信服务器上。数字签名由发送服务器自动产生,并依附在邮件头中,发送到收信服务器里。
有了dkim后邮件的接收端将会对邮件头中的签名和从DNS获取公钥进行验证, 检查邮件是否被伪造。 DKIM签名是现行通用的反垃圾技术之一,有了该配置, 邮件的到达率将会显著提升。
amavisd showkeys 生成密钥

1
2
3
4
5
6
7
8
9
[root@mail ~]# amavisd showkeys
#下面是显示的内容
; key#1, domain ctnmb.com, /var/lib/dkim/ctnmb.com.pem
dkim._domainkey.ctnmb.com.	3600 TXT (
  "v=DKIM1; p="
  "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/35tEAxxxxxxxxxxxIBgMVqVe"
  "r0SG1G7xsQfX4Kj0KC0BqxxxxxxxxxxxxxxurYyy4ChNrax7fRFtm8phanJbBncv"
  "shQCD/1KP5j372JUn7+sI85/e98eM0Pcxxxxxxxxxxxxxxxx6AMseoL/Tux8HdWA"
  "NDhgxUMLxMiUj1tAxxxxxxx")

然后将上面的密匙整理为一行:

1
v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/35tEAxxxxxxxxxxxIBgMVqVer0SG1G7xsQfX4Kj0KC0BqxxxxxxxxxxxxxxurYyy4ChNrax7fRFtm8phanJbBncvshQCD/1KP5j372JUn7+sI85/e98eM0Pcxxxxxxxxxxxxxxxx6AMseoL/Tux8HdWANDhgxUMLxMiUj1tAxxxxxxx

就是将里面的引号和换行都删了就好了
然后在dns内添加TXT记录
主机记录填写:dkim._domainkey.ctnmb.com(也在上面的信息内)
记录值填写:v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/35tEAxxxxxxxxxxxIBgMVqVer0SG1G7xsQfX4Kj0KC0BqxxxxxxxxxxxxxxurYyy4ChNrax7fRFtm8phanJbBncvshQCD/1KP5j372JUn7+sI85/e98eM0Pcxxxxxxxxxxxxxxxx6AMseoL/Tux8HdWANDhgxUMLxMiUj1tAxxxxxxx(就是整理好的这一行)
然后等待dns生效后测试

1
2
3
4
5
6
[root@mail ~]# amavisd testkeys
TESTING#1: dkim._domainkey.ctnmb.com         => invalid (public key: not available)
[root@mail ~]# amavisd testkeys
TESTING#1: dkim._domainkey.ctnmb.com         => invalid (public key: OpenSSL error: bad base64 decode)
[root@mail ~]# amavisd testkeys
TESTING#1: dkim._domainkey.ctnmb.com         => pass

只有当pass的时候才是成功的通过

———–
还有运行amavisd showkeys如果出错提示Config file “/etc/amavisd.conf” does not exist, at /usr/sbin/amavisd line 2148的话。
请修改/usr/sbin/amavisd中amavisd.conf的位置,查找出来然后改成/etc/amavisd/amavisd.conf,然后再运行amavisd showkeys就好了。

———–
还有就是默认是需要https登录的,我们要么设置SSL证书登录,或者到/var/www/roundcubemail/config/config.inc.php文件中设置$config[‘force_https’] = true;参数改成false之后重启才可以生效。

———–
要使用外部的smtp发送邮件的话
smtp服务器:mail.ctnmb.com
smtp端口:25
但是postfix默认是使用ssl的,如果你没ssl就要修改
把postfix main.cf中的smtpd_tls_auth_only = yes注释掉
重启postfix然后就可以了

———–
服务还是不能自启动
所以还是得手动
service postfix start
service uwsgi start
service amavisd start
service sogod start
service fail2ban start
service iredapd start
service nginx start
service php-fpm start

———–
mail的网页 http://mail.ctnmb.com/mail/
后台管理 http://mail.ctnmb.com/iredadmin/
用postmaster登录mail web之后就会看到有两个邮件,其中一封写了全部的配置信息,这个要仔细看,能解决好多问题的

———–
还有默认发送的附件大小是10m,如果你希望发送大附件的话就要修改一下php.ini
upload_max_filesize = 128M;
post_max_size = 128M;

由于我使用的是nginx,所以还要修改nginx.conf
client_max_body_size 128m;
———–

添加评论