自己用java swing做了个简单的聊天系统,本意是给身边认识的人用的,现在希望有一个注册功能,没办法,太穷,发短信验证都要钱,利用邮箱,各大邮箱厂商也要钱而且还有限制,正好前段时间买了个活动服务器,于是自己折腾了一番,就自己打个邮箱服务器吧。事前准备,如果,你是想在局域网下搭建这个邮箱系统,用于业务故障发短信提醒,那么你就没有必要去购买域名,域名是用于广域网你想发邮件给其他邮件厂商或者其他邮件厂商的用户发送给你的邮箱系统(很多邮件厂商对ip邮箱做了限制,想想也合理,不然我们的邮箱里都是垃圾邮件了,而且即使你使用了域名,还要注意其他点,这里有一个参考网址高可用邮箱搭建注意点,不过本人测试时发现并没有限制的这么严格)。而如果,你是只想在局域网使用你的邮箱系统,那么在你的服务器上配置下映射即可。下面讲讲搭建广域网访问的搭建流程:
安装Psotfix,dovecot
先卸载你本机自带的postfix
service postfix stop yum -y remove postfix
下载安装postfix,dovecot以及相关组件:
yum -y install postfix dovecot cyrus-sasl-* mailx
编辑postfix配置文件:(下面的每一行开头数字是行数)
vim /etc/postfix/main.cf
75 myhostname = mail.xxx.com
83 mydomain = xxx.com
99 myorigin = $mydomain
116 inet_interfaces = all
#是否支持ipv6,不支持就写IPv4,后面的dovecot的 listen: * 也是看你是否支持ipv6,和这个对应
119 inet_protocols = all
#$mydomain一定要有,不然没办法收到邮件
164 mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
#这个是说明设置你的SMTP邮箱客户端ip地址范围的,我这里设置允许全网
264 mynetworks = 0.0.0.0/0
419 home_mailbox = Maildir/
569 smtpd_banner = $myhostname ESMTP
#再在最后添加上下面几句
678 message_size_limit = 10485760
679 # 规定收件箱最大容量为1G
680 mailbox_size_limit = 1073741824
681 # SMTP认证
682 smtpd_sasl_type = dovecot
683 smtpd_sasl_path = private/auth
684 smtpd_sasl_auth_enable = yes
685 smtpd_sasl_security_options = noanonymous
686 smtpd_sasl_local_domain = $myhostname
687 smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticate d,reject
启动postfix:
service postfix start
编辑dovecot配置文件:
vim /etc/dovecot/dovecot.conf
#开启发送邮件协议和接受邮件协议
20 protocols = imap pop3 lmtp
#我的支持ipv6所以按照下面写法,如果不支持,则: listen = *
26 listen = *, ::
#设置登录验证认为安全的网络
38 login_trusted_networks =0.0.0.0/0
编辑10-auth.conf
vim /etc/dovecot/conf.d/10-auth.conf
97 auth_mechanisms = plain login
编辑10-mail.conf
vim /etc/dovecot/conf.d/10-mail.conf
30 mail_location = maildir:~/Maildir
编辑10-master,conf
vim /etc/dovecot/conf.d/10-master.conf
88 unix_listener /var/spool/postfix/private/auth {
89 mode = 0666
90 user = postfix
91 group = postfix
92 }
编辑10-ssl.conf
vim /etc/dovecot/conf.d/10-ssl.conf
6 ssl = no
启动dovecot:
service dovecot start
然后配置你的域名:
配置你的域名的a记录和MX记录:
a记录:很好配,直接设置主机名,随意取名,但是最好是mail,因为一些邮箱服务厂商好像对这个有限制,如果发现你的请求域名不是以mail开头,好像会做限制,所以你最好叫mail。
MX记录设置要着重说下,我刚开始配置时总是配置主机名,结果总是报无法找到目标邮箱。其实就是你没配好这个。MX就是为邮箱接受邮件时你的邮箱服务器告诉全世界:“我能处理某某域名的邮件”也是我们上面配置mydestination = $mydomain 相同作用,只不过MX记录这个是告诉全世界你能处理的邮件格式,而上面配置的是告诉你的postfix你能处理这样格式的邮件。这里你配置MX记录时只需要把主机置为空即可(不要填)下面的记录纸设置为你刚才设置的a记录:主机+域名。ok了,可能你设置后,并没有立即起作用,因为域名商要把你这个域名去告诉全世界,所以可能需要一段时间(长达数小时)。配完之后,你就可以使用postfix发送和接收邮件了。
当然,你还需要建一个邮箱用户,不然发给谁?
adduser xxx
passwd xxx
你可以发现,这里用的添加系统用户的方式,确实,postfix是和系统共用用户的,权限控制的很好,安全性据说也很好。但是,默认下你不可以用root用户去远程登录邮箱,因为root用户权限太高,可能会对系统造成不安全影响。如果你实在想用root,可能需要一些配置。
至此,你便可以用手机下载一些邮箱客户端,登录时选择自定义服务设置,然后,输入你的服务器域名,postfix用户 密码,并且设置不要使用ssl验证即可登录你的邮箱系统,然后,自由使用你的邮箱。