首页
关于本博客
友情链接
推荐
linux/shell
Search
1
LEDE官方固件安装中文语言包的方法
11,083 阅读
2
LEDE固件踢出弱信号客户端,实现WiFi无缝漫游脚本
9,170 阅读
3
基于CloudFlare API的纯Shell动态DNS(DDNS)脚本
8,142 阅读
4
一次OpenVPN交叉编译笔记
6,651 阅读
5
利用iptables的string模块来屏蔽域名(关键词匹配)
6,101 阅读
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
互联网应用
IP地址段汇总
登录
Search
标签搜索
nginx
openvpn
cloudflare
seafile
iptables
openwrt
openssl
SSH
linux
lede
letsencrypt
openvpn配置模板
ftp
nas
vsftpd
seafile服务器
Linux启动脚本
ddns
seafile网盘
CentOS
自渡
累计撰写
71
篇文章
累计收到
1
条评论
首页
栏目
study
OpenWrt/LEDE
网络技术
数通
HCNP/CCNP
linux
shell
CentOS
Ubuntu/Debian
php
Linux应用
C#
C/C++
虚拟化
IDC
杂项
MySQL
运维笔记
zabbix
seafile
openvpn
QEMU/KVM
windows
html
互联网应用
IP地址段汇总
页面
关于本博客
友情链接
推荐
linux/shell
搜索到
1
篇与
邮件服务器搭建
的结果
2018-05-31
使用postfix+dovecot+opendkim+squirrelmail搭建满分的邮件服务器
前提&软件固定IP服务器(VPS/独服)一台,最好是海外主机、顶级域名一个使用到的软件:postfix dovecot opendkim squirrelmailpostfix:搭建smtp服务器,用于发送邮件dovecot:搭建imap和pop3服务器,用于接收邮件opendkim:生成域名的dkim,能防止垃圾邮件squirrelmail:一款用php开发的web模板,能够通过网页收发邮件前期准备第一步:为主机IP配置PTR(反向域名解析),海外主机大都可以直接配置,而国内阿里云主机可以发工单修改,其他服务商暂不清楚,这也是为什么要选择海外主机的原因。第二步:为域名配置MX记录:到域名解析提供商处配置MX记录,因为MX记录直接解析到IP地址是不符合规范的,所以应先配置一个A记录,如配置记录为mail,地址指向服务器IP,然后再新建一个MX类型记录,记录值为mail.yourdomain.com,即指向刚才配的A记录。第三步:为域名配置一条TXT记录,即在域名解析提供商处配置一条记录类型为TXT的记录,记录内容格式为v=spf1 a mx include:mail.yourdomain.com ~all ,这条记录能够有效地防止自己的域名被垃圾邮件发送者伪造。第四步:防火墙放行相关端口,即TCP 25(SMTP),465(SMTPS),143(IMAP),993(IMAPS)端口,POP3因为我没使用,所以暂时未配置。具体配置(iptables):iptables -I INPUT 1 -i lo -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT安装和配置postfixpostfix可以通过源码编译,也可以通过yum或者apt-get来安装,这里就介绍CentOS下通过yum安装与配置的过程。禁用sendmailkillall sendmail chkconfig sendmail offyum安装yum install -y postfix打开主配置文件vi /etc/postfix/main.cf找到mydomain这一行,将#去掉,等号右侧添加自己的域名mydomain = yourdomain.com找到inet_interfaces这行,改为inet_interfaces = 127.0.0.1,你的主网卡ip(通过ifconfig查看)配置smtp认证功能(使用本地用户即shadow认证)yum install -y cyrus-sasl-plain编辑/etc/sysconfig/saslauthd文件,修改如下MECH=shadow在/etc/sasl2目录下找到smtpd.conf(若没有则创建一个)添加如下行pwcheck_method: saslauthd mech_list: plain login启动saslauthd/etc/init.d/saslauthd start然后在/etc/postfix/main.cf中加入以下行smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = '' smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination broken_sasl_auth_clients=yes smtpd_client_restrictions = permit_sasl_authenticated接下来是配置SSL,即SMTPS,可根据自己需求配置。smtpd_sasl_security_options = noanonymous smtpd_use_tls = yes smtpd_tls_cert_file = 你的证书存放目录,最好使用权威机构颁发的 smtpd_tls_key_file = 你的私钥存放目录 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache 在/etc/postfix/master.cf文件中添加如下行 smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes安装和配置dovecotdovecot默认的认证方式为本地用户认证方式,为了和postfix认证方式一致,这里就使用默认的认证方式。使用yum安装yum install -y dovecot在/etc/dovecot/dovecot.conf第20行中去除#号,配置如下protocols = imap pop3编辑/etc/dovecot/conf.d/10-master.conf中的文件,取消18、21、 83、 84行的注释inet_listener imap { inet_listener imaps { user = postfix group = postfix为dovecot配置SSL加密vi /etc/dovecot/conf.d/10-ssl.conf第6、12、13行取消注释,在12、13行配上SSL证书和私钥ssl = yes ssl_cert = <证书存放目录 ssl_key = <私钥存放目录配置OPENDKIMDKIM是域名密钥识别邮件标准,它可以让企业可以把加密签名插入到发送的电子邮件中,然后把该签名与域名关联起来。签名随电子邮件一起传送,而不管是沿着网络上的哪条路径传送,电子邮件收件人则可以使用签名来证实邮件确实来自该企业。具体方法可参考:https://www.v2ex.com/t/161912使用yum安装yum install opendkim mkdir -p /var/run/opendkim chown -R opendkim:opendkim /var/run/opendkim编辑配置文件/etc/opendkim.conf加入配置如下:(Debian,Ubuntu主机还需要在/etc/default/opendkim里面进行额外配置)Canonicalization relaxed/relaxed ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable LogWhy Yes MinimumKeyBits 1024 Mode sv PidFile /var/run/opendkim/opendkim.pid SigningTable refile:/etc/opendkim/SigningTable Socket inet:8891@127.0.0.1 Syslog Yes SyslogSuccess Yes TemporaryDirectory /var/tmp UMask 022 UserID opendkim:opendkim创建你的域名对应的密钥mkdir /etc/opendkim/keys/yourdomain.com opendkim-genkey -D /etc/opendkim/keys/yourdomain.com/ -d yourdomain.com -s default密钥创建完毕后,还必须保证程序启动时有足够的权限读取chown -R opendkim:opendkim /etc/opendkim/配置/etc/opendkim/KeyTable文件echo "default._domainkey.yourdomain.com yourdomain.com:default:/etc/opendkim/keys/yourdomain.com/default.private" >> /etc/opendkim/KeyTable配置/etc/opendkim/SigningTable文件echo "*@yourdomain.com default._domainkey.yourdomain.com">> /etc/opendkim/SigningTable在/etc/opendkim/TrustedHosts中加入允许进行签名的主机,一般是本机,默认不需要改动,只需确保其中有127.0.0.1和::1即可。接下来就是到域名解析提供商处配置域名DKIM记录在/etc/opendkim/keys/yourdomain.com/目录中找到default.txt文件,这就是公钥文件新建一个TXT类型域名记录,记录值配置为default.txt中文件从v=DKIM1到p=xxx,即括号内的文本,保存后即可。最后将以下内容加入/etc/postfix/main.cf中即可smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891 milter_protocol = 2 milter_default_action = accept在启动opendkim时,还得为域名配置dmarc记录,具体步骤就是到域名解析提供商处添加一条TXT类型记录,记录值为_dmarc,记录内容为v=DMARC1;p=quarantine;rua=mailto:YourEmail。正确地配置dmarc与dkim能够降低被识别为SPAM的概率。启动相关服务执行以下命令以启动服务postfix start /etc/init.d/dovecot start /etc/init.d/opendkim start安装squirrelmail(可选)前提:Nginx/Apache+PHP环境下载页面: http://www.squirrelmail.org/download.php下载后解压到web根目录,需要将该目录拥有者设为web服务器的运行用户,如我的配置:chown -R www:www /home/wwwroot/squirrelmail mkdir -p /var/local/squirrelmail chown -R www:www /var/local/squirrelmail切换到目录下并运行交互式脚本进行配置cd /home/wwwroot/squirrelmail && ./configure进入2选项,配置好DOMAIN,SMTP和IMAP服务器即可Domain项填写你的域名SMTP服务器填写127.0.0.1:25,Authtype配置为LOGINIMAP服务器填写为127.0.0.1:143保存后即可
2018年05月31日
4,168 阅读
0 评论
0 点赞