1.安装postfix软件包
2.安装smtp认证包
3.安装pop3和imap服务包
4.安装webmail软件包(webmail需要web服务器的支持)
Postfix
一.Postfix邮件服务的安装
1.关闭sendmail
# /etc/init.d/sendmail stop
# chkconfig sendmail off
2.使用rpm命令安装postfix
# rpm -ivh postfix-2.3.3-2-2.i386.rpm
3.配置postfix服务的主要配置文件
vim /etc/postfix/main.cf
myhostname = mail.123.com FQDN
mydomain = 123.com 域名
myorigin = $ mydomain 设置由本机发出邮件所使用的域名或主机名称
inet_interfaces = all 监听端口
mydestination = $mydomain, $myhostname 这一行是设置可接受邮件的主机名或域名(这一项一般不需要修改)
mynetworks_style = class 根据ip得知ip网段的 A B C类
subnet 默认 根据网卡上的设置开放网段
host 开放本机的转发功能
myneworks = 192.168.1.0/24, 127.0.0.1/8 设置可转发那个网络的邮件
二.SMTP认证的配置
描述:Postfix服务只是一个MTA(邮件传输代理),它只提供smtp服务,也就是说只提供邮件的转发以及本地分发功能
1.安装cyrus-sasl认证包
默认情况下这个包是已经安装的,可以使用以下命令查看
#rpm -qa |grep cyrus-sasl
如果没有结果就执行以下命令安装
# rpm -ivh cyrus-sasl-2.1.22-4.i386.rpm
设置开机启动
#/etc/rc.d/init.d/saslauthd start
# chkconfig saslauthd on
2.cyrus-sasl v2版本的密码验证
默认cyrus-sasl使用的守护进程名为saslauthd
查看支持的验证方式
# saslauthd -v
3.设置main.cf让postfix可以与saslauthd联系
vim /etc/postfix/main.cf
smtpd_sasl_auth_enable=yes 启用smtp
smtpd_sasl_local_domain=‘’ 允许本地域使用sasl
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
permit 允许的网络不需要验证,
reject 拒绝的网络需要通过验证后才转发
broken_sasl_auth_clients=yes 打破客户端验证,使客户端只使用sasl方式验证登录
smtpd_client_restrictions=permit_sasl_authenticated 客户端限制,只允许sasl方式的验证
smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)
4.设置saslauthd使用shadow文件认证机制
vim /etc/sysconfig/saslauthd
MECH = shadow
5.测试
三.Pop和imap邮件服务
描述:实现邮件的异地接收,默认这两个服务是没有的,需要安装两个软件包来提供pop跟imap邮件服务(dovecot和cyrus-imapd)。Pop跟imap服务所使用的端口分别是 110和143.
1.安装dovecot
需要安装的perl-DBI mysql dovecot 包
# /etc/rc.d/init.d/dovecot start
# chkconfig dovecot on
2.dovecot服务的配置
vim /etc/dovecot.conf
protocols = pop3 pop3s
protocol pop3 {
listen = *:10100
}
3.安装cyrus-imapd
需要安装cyrus-imapd-pearl cyrus-imapd-utils db4-utils lm_sensors cyrus-imapd cyrus-imapd-devel
# /etc/init.d/cyrus-imapd start
# chkconfig cyrus-imapd on
4.将postfix与cyrus-imapd整合在一起
vim /etc/postfix/main.cf
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
5.管理用户邮箱
创建用户
passwd cyrus 给cyrus管理员账户设置密码
useradd test
passwd test
cyradm -u cyrus localhost
cm user.test 创建用户
cm user.test.Send 发件箱
cm user.test.Trash 收件箱
cm user.test.Drafts 垃圾箱
setquota user.test 5120 (设置邮箱配额大小,默认以k为单位)
lm 列出与给定字符串
cm 创建一个新的邮箱
dm 删除一个邮件信箱及其下层的所有文件夹
renm 为邮件信箱更名
dam 删除用户访问邮件信箱的部分或全部权限
lam 列出邮件信箱的访问权限列表
sq 为邮件信箱设置配额
lq 列出邮件信箱的配额
# su -l cyrus -c /usr/lib/cyrus-imapd/quota 查看邮箱配额
四.Squirrelmail
1.安装squirrelmail
需要的安装包 php-mbstring squirrelmail
2.配置webmail
可以使用/etc/squirrelmail/config.php 文件来修改配置选项
使用Squirrelmail的配置工具修改配置选项
# /usr/share/squirrelmail/config/config.pl
2 ; 1; 123.com; 3 ; 2; s; r
10; 1; zh_CN; 2; gb2312 ; s; r
4; 5; y; s; r
D; cyrus;s; q
(1)设置域名跟smtp
(2)设置语言
(3)
五.dns与httpd简单设置
vim /var/named/chroot/etc/named.conf
vim /var/named/chroot/var/named/123.com.zone
清空/etc/resolv.conf文件的内容
客户端测试收发邮件
postfix邮件常用命令:
查看队列::postqueue -p
清空队列:postsuper -d ALL
postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:
1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。
2. incoming:放置正在到达或队列管理进程尚未发现的邮件。
3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。
4. deferred:放置不能被投递的邮件。
启动postfix:postfix start
停止postfix:postfix stop
重新读取postfix配置文件:postfix reload
立即投递队列中所有邮件:postfix flush
查看队列邮件:postqueue -p
使用postsuper 来维护队列
一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。
例如id是0EAF3A9B 那么postsuper -d
########################################################
########################################################
------------------------------------------------------------
基本配置文件
vim /etc/postfix/main.cf
myhostname = mail.123.com FQDN
mydomain = 123.com 域名
myorigin = $ mydomain 设置由本机发出邮件所使用的名称
inet_interfaces = all 监听端口
mydestination(不用修改) 这一行是设置可接受邮件的主机名或域名
mynetworks= class 根据ip得知ip网段的 A B C类
subnet 默认 根据网卡上的设置开放网段
host 开发本机的转发功能
myneworks = 192.168.1.0/24, 127.0.0.1/8 设置可转发那个网络的邮件
relay_domains =123.com 转发到下一个mta的域名
alias_maps=hash:/etc/aliases 邮件别名配置文件postmap
alias_database=hash:/etc/aliases 邮件别名数据库 postalias
-------------------------------------------------------------
访问控制配置文件
vim /etc/postfix/master.cf
vim /etc/postfix/access 存取控制文件
192.168.1.1 ACCEPT 允许
baidu.com REJECT 拒绝
portmap /etc/postfix/access 是配置文件生效
-------------------------------------------------------------
用户别名配置文件
vim /etc/aliases 别名
真实用户名: 别名
postalias hash:/etc/aliases 使别名文件生效
-------------------------------------------------------------
虚拟别名域
vim /etc/postfix/main.cf
virtual_alias_domain = a.net b.net 域的别名
virtual_alias_maps = hash:/etc/postfix/virtual 域别名的文件
vim /etc/postfix/virtual
@a.net(别名) @a.com(真实)
@b.net @b.net
postalias /etc/aliases
portmap /etc/postfix/virtual 使别名域生效
dns设置
a.com IN NS 127.0.0.1
www IN A 192.168.1.1
mail.a.com IN CNAME www.a.com
a.com IN MX 10 mail.a.com
------------------------------------------------------------
SMTP认证 (简单邮件传输协议)
提供邮件的转发以及本地的分发功能
cyrus sasl
cyrus 主要提供saslauthd服务来进行帐号密码的对比操作
安装cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5 等软件
启动saslauthd服务
设置main.cf让postfix可以与saslauthd联系
vim /etc/postfix/main.cf
smtpd_sasl_auth_enable=yes 启用smtp
smtpd_sasl_local_domain=‘’ 允许本地域使用sasl
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
permit允许的网络不需要验证,reject 拒绝的网络需要通过验证后才转发
broken_sasl_auth_clients=yes 打破客户端验证,使客户端只使用sasl方式验证登录
smtpd_client_restrictions=permit_sasl_authenticated 客户端限制,只允许sasl方式的验证
smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)
saslauthd -v 查看可使用的密码验证方式
testsaslauthd -u cyrus -p ‘123456’ 测试saslauthd认证功能
设置saslauthd的认证机制
vim /etc/sysconfig/saslauthd
MECH=shadow
--------------------------
安装pop3
dovecot perl-DBI mysql
编辑pop3主配置文件开启pop3服务器:
vim /etc/dovecot.conf
protocols=pop3 pop3s
protocol pop3{listen=*:10100}
/etc/init.d/dovecot start
----------------------------
安装 imap
cyrus-imapd-perl cyrus-imapd-utils db4-utils lm_sensors cyrus-imapd cyrus-imapd-devel
将postfix与cyrus-imapd整合在一起
vim /etc/postfix/main.cf
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
/etc/init.d/cyrus-imapd start
--------------------------------------------------------------------
创建用户
password cyrus 给cyrus管理员账户设置密码
useradd test
passwd -d test
cyradm -u cyrus localhost
cm user.test 创建用户
cm user.test.Send 发件箱
cm user.test.Trash 收件箱
cm user.test.Drafts 垃圾箱
setquota user.test 5120 (设置邮箱配额大小,默认以k为单位)
lm 列出与给定字符串
cm 创建一个新的邮箱
dm 删除一个邮件信箱及其下层的所有文件夹
renm 为邮件信箱更名
dam 删除用户访问邮件信箱的部分或全部权限
lam 列出邮件信箱的访问权限列表
sq 为邮件信箱设置配额
lq 列出邮件信箱的配额
su -l cyrus -c /usr/lib/cyrus-imapd/quota 查看邮箱配额
web方式收发邮件 (squirrelmail)
安装
php-mbstring
squirrelmail
配置工具 配置域名,smtp,语言,
/usr/share/squirrelmail/config/conf.pl
2 ; 1; 123.com; 3 ; 2; s; r
10; 1; zh_CN; 2; gb2312 ; s; r
4; 5; y; s; r
D; cyrus;s; q
客户端在寄信时设置“邮件主机认证”功能
设置saslauthd的认证机制
vim /etc/sysconfig/saslauthd
MECH=shadow