NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# 邮件相关扩展 邮件服务器搭建 开源邮件服务器 [EwoMail](https://gitee.com/laowu5/EwoMail) [EwoMail搭建步骤](https://blog.csdn.net/qq_36293899/article/details/81942317) # [Linux搭建邮件服务器Postfix+Dovecot+MySQL+PHP](https://www.cnblogs.com/kaifayuan/p/11739031.html) **用于搭建的服务器信息** 阿里云 Centos 6.5 32位 **安装过程** 1.安装Postfix 版本(2:2.6.6-8.el6) ``` <pre class="calibre10">``` yum <span class="token1">-</span>y install postfix ``` ``` 安装完成还需要替换系统自带的sendmail: ``` <pre class="calibre10">``` rpm <span class="token1">-</span>e sendmail #或者使用 yum remove sendmail ``` ``` 检查postfix是否支持myql ``` <pre class="calibre10">``` postconf <span class="token1">-</span>m ``` ``` 检查postfix是否支持cyrus,dovecot ``` <pre class="calibre10">``` postconf <span class="token1">-</span>a ``` ``` 修改MTA(默认邮件传输代理)然后直接回车即可。 ``` <pre class="calibre10">``` alternatives <span class="token1">--</span>config mta ``` ``` 检查一下是不是已经设置成功了。第一行可以看到mta的状态。 例如:mat - status is manual.或者显示mta - 状态是手工。 ``` <pre class="calibre10">``` alternatives <span class="token1">--</span>display mta ``` ``` 1.1.配置Postfix 编辑/etc/postfix/main.cf文件,可以下载下来修改,也可以使用vi进行编辑: ``` <pre class="calibre10">``` vi <span class="token1">/</span>etc<span class="token1">/</span>postfix<span class="token1">/</span>main<span class="token3">.</span>cf ``` ``` 修改内容如下: ``` <pre class="calibre10">``` # <span class="token6">75</span>行<span class="token3">:</span> 取消注释,设置mail<span class="token3">.</span>xxx<span class="token3">.</span>com myhostname <span class="token1">=</span> mail<span class="token3">.</span>xxx<span class="token3">.</span>com # <span class="token6">83</span>行<span class="token3">:</span> 取消注释,设置xxx<span class="token3">.</span>com mydomain <span class="token1">=</span> xxx<span class="token3">.</span>com # <span class="token6">99</span>行<span class="token3">:</span> 取消注释 myorigin <span class="token1">=</span> $mydomain # <span class="token6">113</span>行<span class="token3">:</span> 取消注释 inet_interfaces <span class="token1">=</span> all # <span class="token6">116</span><span class="token3">:</span> 注释<span class="token3">(</span>注意是注释掉<span class="token3">,</span>因为<span class="token6">113</span>行已经取消了注释<span class="token3">)</span> #inet_interfaces <span class="token1">=</span> localhost # <span class="token6">119</span>行<span class="token3">:</span> 推荐ipv4,如果支持ipv6,则可以为all inet_protocols <span class="token1">=</span> ipv4 # <span class="token6">164</span>行<span class="token3">:</span> 注释<span class="token3">(</span>注意是注释掉<span class="token3">,</span>因为<span class="token6">165</span>行已经取消了注释<span class="token3">)</span> #mydestination <span class="token1">=</span> $myhostname<span class="token3">,</span> localhost<span class="token3">.</span>$mydomain<span class="token3">,</span> localhost # <span class="token6">165</span>行<span class="token3">:</span> 取消注释 mydestination <span class="token1">=</span> $myhostname<span class="token3">,</span> localhost<span class="token3">.</span>$mydomain<span class="token3">,</span> localhost<span class="token3">,</span> $mydomain # <span class="token6">264</span>行<span class="token3">:</span> 取消注释,指定内网和本地的IP地址范围 mynetworks <span class="token1">=</span> <span class="token6">127.0</span><span class="token6">.0</span><span class="token6">.0</span><span class="token1">/</span><span class="token6">8</span><span class="token3">,</span> <span class="token6">10.0</span><span class="token6">.0</span><span class="token6">.0</span><span class="token1">/</span><span class="token6">24</span> # <span class="token6">419</span>行<span class="token3">:</span> 取消注释,邮件保存目录 home_mailbox <span class="token1">=</span> Maildir<span class="token1">/</span> # <span class="token6">571</span>行<span class="token3">:</span> 添加 smtpd_banner <span class="token1">=</span> $myhostname ESMTP # <span class="token1">===</span><span class="token1">===</span><span class="token1">=</span>以下所有添加到最后尾部<span class="token1">===</span><span class="token1">===</span><span class="token1">=</span> # 规定邮件最大尺寸为<span class="token6">10</span>M message_size_limit <span class="token1">=</span> <span class="token6">10485760</span> # 规定收件箱最大容量为<span class="token6">1</span>G mailbox_size_limit <span class="token1">=</span> <span class="token6">1073741824</span> # SMTP认证 smtpd_sasl_type <span class="token1">=</span> dovecot smtpd_sasl_path <span class="token1">=</span> private<span class="token1">/</span>auth smtpd_sasl_auth_enable <span class="token1">=</span> yes smtpd_sasl_security_options <span class="token1">=</span> noanonymous smtpd_sasl_local_domain <span class="token1">=</span> $myhostname smtpd_recipient_restrictions <span class="token1">=</span> permit_mynetworks<span class="token3">,</span>permit_auth_destination<span class="token3">,</span>permit_sasl_authenticated<span class="token3">,</span>reject ``` ``` 修改好了之后启动postfix ``` <pre class="calibre10">``` <span class="token1">/</span>etc<span class="token1">/</span>rc<span class="token3">.</span>d<span class="token1">/</span>init<span class="token3">.</span>d<span class="token1">/</span>postfix start #或者使用 service postfix start ``` ``` 将postfix设置开机启动 ``` <pre class="calibre10">``` chkconfig postfix on ``` ``` 2.安装Dovecot 版本 (1:2.0.9-22.el6\_10.1) ``` <pre class="calibre10">``` yum <span class="token1">-</span>y install dovecot dovecot<span class="token1">-</span>mysql ``` ``` 2.1.配置Dovecot 修改如下: \[root@mail ~\]#vi /etc/dovecot/dovecot.conf ``` <pre class="calibre10">``` # <span class="token6">26</span>行<span class="token3">:</span> 如果不使用IPv6,请修改为<span class="token1">*</span> listen <span class="token1">=</span> <span class="token1">*</span> ``` ``` \[root@mail ~\]#vi /etc/dovecot/conf.d/10-auth.conf ``` <pre class="calibre10">``` # <span class="token6">9</span>行<span class="token3">:</span> 取消注释并修改 disable_plaintext_auth <span class="token1">=</span> no # <span class="token6">97</span>行<span class="token3">:</span> 添加 auth_mechanisms <span class="token1">=</span> plain login ``` ``` \[root@mail ~\]#vi /etc/dovecot/conf.d/10-mail.conf ``` <pre class="calibre10">``` # <span class="token6">30</span>行<span class="token3">:</span> 取消注释并添加 mail_location <span class="token1">=</span> maildir<span class="token3">:</span><span class="token1">~</span><span class="token1">/</span>Maildir ``` ``` \[root@mail ~\]#vi /etc/dovecot/conf.d/10-master.conf ``` <pre class="calibre10">``` # <span class="token6">88</span><span class="token1">-</span><span class="token6">90</span>行<span class="token3">:</span> 取消注释并添加 # Postfix smtp验证 unix_listener <span class="token1">/</span>var<span class="token1">/</span>spool<span class="token1">/</span>postfix<span class="token1">/</span>private<span class="token1">/</span>auth <span class="token3">{</span> mode <span class="token1">=</span> <span class="token6">0666</span> user <span class="token1">=</span> postfix group <span class="token1">=</span> postfix <span class="token3">}</span> ``` ``` 复制mysql配置文件 ``` <pre class="calibre10">``` cp <span class="token1">/</span>usr<span class="token1">/</span>share<span class="token1">/</span>doc<span class="token1">/</span>dovecot<span class="token1">-</span><span class="token1">*</span><span class="token1">/</span>example<span class="token1">-</span>config<span class="token1">/</span>dovecot<span class="token1">-</span>sql<span class="token3">.</span>conf<span class="token3">.</span>ext <span class="token1">/</span>etc<span class="token1">/</span>dovecot<span class="token1">/</span>dovecot<span class="token1">-</span>sql<span class="token3">.</span>conf<span class="token3">.</span>ext ``` ``` 编辑/etc/dovecot/dovecot-sql.conf.ext ``` <pre class="calibre10">``` # <span class="token6">29</span>行<span class="token3">:</span> 取消注释并修改 driver <span class="token1">=</span> mysql # <span class="token6">66</span>行<span class="token3">:</span> 取消注释并修改<span class="token3">(</span>下列<span class="token6">3</span>项自己对应设置<span class="token3">)</span> connect <span class="token1">=</span> host<span class="token1">=</span>localhost dbname<span class="token1">=</span>数据库名 user<span class="token1">=</span>数据库账号 password<span class="token1">=</span>填写数据库密码 # <span class="token6">72</span>行<span class="token3">:</span> 取消注释 default_pass_scheme <span class="token1">=</span> MD5 # <span class="token6">102</span><span class="token1">-</span><span class="token6">104</span>行<span class="token3">:</span> 修改 password_query <span class="token1">=</span> \ SELECT email as user<span class="token3">,</span> password \ FROM mail_users WHERE email <span class="token1">=</span> <span class="token2">'%u'</span> # <span class="token6">122</span><span class="token1">-</span><span class="token6">124</span>行<span class="token3">:</span> 修改 user_query <span class="token1">=</span> \ SELECT maildir<span class="token3">,</span> <span class="token6">666</span> AS uid<span class="token3">,</span> <span class="token6">666</span> AS gid \ FROM mail_users WHERE email <span class="token1">=</span> <span class="token2">'%u'</span> ``` ``` 修改好了之后启动dovecot ``` <pre class="calibre10">``` <span class="token1">/</span>etc<span class="token1">/</span>rc<span class="token3">.</span>d<span class="token1">/</span>init<span class="token3">.</span>d<span class="token1">/</span>dovecot start #或者使用 service dovecot start ``` ``` 将dovecot设置开机启动 ``` <pre class="calibre10">``` chkconfig dovecot on ``` ``` 到这里,我们的邮件服务器就已经搭建成功了。 5.域名解析 最后别忘了还需要进行域名解析工作。 添加一个子域名mail,A记录解析到服务器IP。 再添加一个MX记录,主机记录为空,[记录值为上面解析的二级域名mail.lomu.me](http://xn--mail-z94f0jyt31ilulo1jfmvrsw3n8bi2xql1bv9fmy9c.lomu.me),优先级10。 注意:解析生效可能需要一段时间。 6.邮箱使用 一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。 好了,假如我们创建一个admin的用户: \# 创建用户 useradd admin \#设置密码,会要求输入两次密码 passwd admin 接下来登录Foxmail 其他参考: <https://www.cnblogs.com/chenggege/p/7722563.html> <https://recomm.cnblogs.com/blogpost/11739031>