Archlinux下配置邮件服务器(Postfix, Courier IMAP, Squirrelmail)

January 20th, 2012 Leave a comment Go to comments

翻译并修改自Archlinux Wiki。话说Archlinux的Wiki真好啊,基本上需要的资料都能找到。和AUR一起,是我最喜欢Archlinux的两样东西。

1. 安装MySQL、PHP和Apache并配置。
此处不多说,参照此文

2. 安装配置Postfix

2.1 配置DNS
如果你有自己的域名,需要配置好MX记录和A(或者CNAME)记录,具体方法不在本文讨论之内。

2.2 修改/etc/postfix/main.cf
按照如下示例修改main.cf文件(yourdomain.net替换成你自己的域名):

然后在文件末尾添加如下配置:

其中virtualdomain.tld是你想设置的邮箱域名,例如可以是你的真实域名:yourdomain.net
具体参数的含义参考Wiki。

2.3 修改/etc/postfix/aliases
在此文件里修改或者添加类似如下参数:

cactus是虚拟用户名,即给别人的收件人名。此处设为转给root用户接收,也可以设置为其他用户。
设置完成后,执行:

2.4 新建/etc/postfix/virtual_alias
默认没有此文件,需要新建后粘贴下列配置:

修改最后一行即可。然后也是执行下列命令:

2.5 新建/etc/postfix/mysql_virtual_domains.cf
粘贴如下配置:

2.6 新建/etc/postfix/mysql_virtual_mailboxes.cf
粘贴如下配置:

2.7 新建/etc/postfix/mysql_virtual_forwards.cf
粘贴如下配置:

2.8 测试Postfix配置
执行下列命令,如果没有任何错误提示,则配置正常:

2.9 添加daemon
在/etc/rc.conf里,在DAEMONS字段中加入postfix,例如:

2.10 新建邮件用户

3. 配置MySQL
登录mysql,设置必要的用户和数据库:

3.1 创建邮件服务器专用数据库及mysql用户
建立数据库:

建立用户并授权:

其中,postfixuser和XXXXXXXXXX是在第二步提到的那3个cf文件里配置的。

3.2 建立表
在mysql中直接复制执行下列命令:

3.3 加入域名

3.4 加入一个用户

其中,secret是cactus@virtualdomain.tld这个邮箱帐户的密码。

3.5 测试Postfix

用其他邮箱给你配置好的邮箱地址发一封邮件,然后执行:

看到类似以下输出时,说明Postfix工作正常:

最后的那个1102974226.2704_0.bonk.testmail.org文件就是邮件本身,可以用cat命令查看内容。

4. 安装配置Courier IMAP
安装Courier IMAP:

4.1 配置/etc/authlib/authdaemonrc

即把其他认证类型屏蔽掉,只留这一个。

4.2 配置/etc/authlib/authmysqlrc

将斜体部分替换成你自己的对应设置,其他地方照抄即可。

4.3 重启一下服务

然后,修改/etc/conf.d/courier-imap

4.4 添加daemon
在/etc/rc.conf里,添加courier-imap服务:

4.5 建立软链接
笔者在依照wiki配置Courier IMAP的过程中,最后出现不认虚拟域名的问题,于是采用软链接的方法解决:

4.6 启动Courier IMAP

可以从/var/log/mail.log中查看排错信息。

4.7 测试Courier IMAP

斜体字是用户输入。

5. 安装配置Squirrelmail
可以事先配置SSL,保证安全传输。不在本文讨论之列。
安装Squirrelmail:

默认安装在/srv/http/squirrelmaildir目录下,即Archlinux的apache默认目录。

5.1 执行配置脚本

脚本启动后,按“D”,回车。然后输入”courier”,即选择Courier IMAP的预配置。同时可选修改同目录下config.php内的若干处设置。

5.2 测试配置
用浏览器访问squirrelmail/src/configtest.php,可能会提示目录不存在或无法访问等错误。按照错误提示建立目录及修改权限,并且在/etc/php/php.ini的open_basedir变量中加入新建的目录即可。

5.3 登录Squirrelmail
使用之前自定义的用户名:cactus@virtualdomain.tld 密码: secret,登录网页邮箱。

至此,一个可用的邮件服务器及网页邮箱已经搭建完成,如有问题,欢迎回复讨论!

如需转载此文,请标明来源,谢谢!

本文为悠然居(https://wordpress.youran.me/)的原创文章,转载请注明出处!

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: Archlinux下配置邮件服务器(Postfix, Courier IMAP, Squirrelmail)
  1. youran | #1
    October 27th, 2012 at 10:56 |

    注意,现在Courier-imap和Squirrelmail已从官方源移出,进入AUR。请先安装AUR里的yaourt再用其安装两者。
    话说什么时候archlinux变得这么复杂了,连安装系统时候的那个图形化界面都没了,改成像Gentoo那样的全命令行形式。这明显抬高了archlinux的门槛啊

    Safari 5.1 Safari 5.1 iPad iOS 5.1.1 iPad iOS 5.1.1
  2. mugbya | #2
    August 20th, 2015 at 22:50 |

    virtual_mailbox_domains 重复了

    Google Chrome 44.0.2403.125 Google Chrome 44.0.2403.125 GNU/Linux x64 GNU/Linux x64
    • youran | #3
      August 21st, 2015 at 11:47 |

      @mugbya
      嗯,还是直接看archlinux wiki吧,这三年多里面wiki也更新了不少次了

      Firefox 38.0 Firefox 38.0 Windows XP Windows XP
  1. No trackbacks yet.