您的位置:首页 > 运维架构 > Linux

ubuntu 上邮件服务器的基本配置

2013-12-09 10:41 435 查看
本文介绍ubuntu
上邮件服务器的基本配置过程,面向个人和初级企业应用,能够保证信息安全但不涉及垃圾邮件和病毒的防范。
测试环境使用Ubuntu 11.04,Postfix 2.8.2,Dovecot
1.2.15,其他版本可参照。
首先说明基本的背景知识。一个邮件服务器通常包括如下两个基本组件:
1.   
Mail Transfer Agent (MTA),用于向收件人的目标agent
发送邮件和接收来自其他agent
的邮件。我们使用
Postfix 作为 MTA,它比sendmail
更安全高效,且在 Ubuntu
平台上官方源提供更新。
2.   
Mail Delivery Agent (MDA),用于用户到服务器上访问自己的邮件。我们使用
Dovecot
作为 MDA,它在Ubuntu
平台上也是官方源提供更新。
组件安装
在 root
权限下执行(或使用sudo):
[plain]

view plaincopy
1. # apt-get installpostfix

2. # apt-get installdovecot-common

3. # apt-get installdovecot-imapd dovecot-pop3d

Postfix
基本设置

编辑/etc/postfix/main.cf
文件,做如下更改:
1.
为支持 TLS 安全连接,确保证书可用(通常默认安装已生成相应文件)
[plain]

view plaincopy
1. smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
2. smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
3. smtpd_use_tls=yes

使用安全连接可保证通过客户端发送邮件时不被截获和窃取。
2.
保证邮件服务器的域名存在于下述列表中
[plain]

view plaincopy
1. mydestination =daolicloud.com, lab, localhost.localdomain, localhost

这样收件人为该域名的邮件才会被服务器留存而不是转给其他 MTA。
3.
侦听所有网口
[plain]

view plaincopy
1. inet_interfaces = all

4.
使用 Maildir
格式存放数据
[plain]

view plaincopy
1. home_mailbox =Maildir/

这种格式的好处是邮件分开存放,MDT
访问时不必加锁。而且有些 MDT
仅支持该格式。
5.
配置邮箱和信件大小限制
[plain]

view plaincopy
1. mailbox_size_limit =2000000000

2. message_size_limit =20000000

这里设置邮箱大小为 2 GB,邮件大小为 20 MB。
最后,执行如下命令使上述配置生效:
[plain]

view plaincopy
1. $ sudo service postfixreload

验证 Postfix
和添加账户

在本机输入如下命令
[plain]

view plaincopy
1. $ telnet localhostsmtp

可看到如下输出Trying127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 lab ESMTP Postfix (Ubuntu)
进而输入邮件内容,可以发送给任意已有 linux
用户:
[plain]

view plaincopy
1. mail from:root@[YourDomain]

2. rcpt to:[UserName]@[YourDomain]

3. data

4. Subject: Hello

5. Hi, how are you?

6. Regards,

7. Admin.

8. .

9. quit

此时在该用户的 home目录下,应当可以看到Maildir
目录。进入 Maildir/new
下可以看到刚才的邮件(文本文件),用任意文本编辑器即可查看其内容。如需其他邮件账户,只需正常添加 linux
用户即可。通常,我们可以把这些专用于邮件的用户的 home
目录集中到一起,命令行如下:
[plain]

view plaincopy
1. $ useradd -m -d/home/mail-users/[UserName] -g mail-users [UserName]

这里将邮件账户的home
目录都放置在了/home/mail-users
下。
 
到这里为止,是可以发送邮件了,我测试过发送给我的google邮箱和公司邮箱,都收到了来自我个人电脑ubuntu的邮件。不过由于我还没配置DNS服务器,相当于我的电脑是孤立的,无法访问的,所以没法收到邮件,下面的配置无效,仅供参考:
 
dovecot
基本设置

编辑/etc/dovecot/dovecot.conf
文件,做如下更改:
1.
使用 maildir
格式(与 postfix
格式对应)
[plain]

view plaincopy
1. mail_location =maildir:~/Maildir

2.
侦听所有默认端口
[plain]

view plaincopy
1. listen = *

3.
设置安全的远程访问
为了使用户可以远程访问,必须开启基于用户名 /
密码的验证:
[plain]

view plaincopy
1. disable_plaintext_auth= no

但与此同时,由于用户名 /
密码都是明文,我们应该要求建立安全连接以防止信息泄露
[plain]

view plaincopy
1. ssl = required

2. ssl_cert_file =/etc/ssl/certs/dovecot.pem

3. ssl_key_file =/etc/ssl/private/dovecot.pem

先前 Postfix
使用的是TLS,这里的SSL
与之类似。确保上述文件存在且可用,通常默认文件已经生成好。
最后,别忘使更改的配置生效:
[plain]

view plaincopy
1. $ sudo service dovecotreload 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息