一、启动 SMTP 发信认证
1.启用 SMTP 发信认证
在 Postfix 邮件系统中,可以使用 Cyrus SASL(Cyrus Simple Authentication and Security Layer) 简单认证安全层软件来实现金恩的 SMTP 认证机制。Postfix 通过调用 Cyrus SASL 的函数库,使用 Cyrus SASL 提供的认证服务 saslauthd 来核对系统密码和账号。
2.配置 SMTP 发信认证
(1)设置 Cyrus SASL 函数库,并启动 saslauthd 服务
[root@mail ~]# vim /usr/lib64/sasl2/smtpd.conf
pwcheck_method: saslauthd
[root@mail ~]# yum -y install cyrus-sasl*
[root@mail ~]# vim /etc/sysconfig/saslauthd
# Directory in which to place saslauthd's listening socket, pid file, and so
# on. This directory must already exist.
SOCKETDIR=/run/saslauthd
# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list
# of which mechanism your installation was compiled with the ablity to use.
MECH=shadow ////将sasl验证方式改为系统用户密码验证
# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
# for the list of accepted flags.
FLAGS=
[root@mail ~]# systemctl start saslauthd.service
[root@mail ~]# systemctl enable saslauthd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/saslauthd.service to /usr/lib/systemd/system/saslauthd.service.
(2)修改 main.cf 配置文件,添加 SMTP 认证配置,并重载服务
手动添加:
[root@mail ~]# vim /etc/postfix/main.cf
680 smtpd_sasl_auth_enable = yes
681 smtpd_sasl_security_options = noanonymous
682 mynetworks = 127.0.0.0/8
683 smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_auth_enable = yes //开启smtpd的发信认证
smtpd_sasl_security_options = noanonymous //不允许匿名用户的发信
mynetworks = 127.0.0.0/8 //我的网段
smtpd_recipient_restrictions = //发信限制
permit_mynetworks,//允许我的网络
permit_sasl_authenticated,//允许通过验证的
reject_unauth_destination //拒绝未通过验证的
[root@mail ~]# systemctl reload postfix
测试使用 SMTP 发信认证
客户端远程登录测试
[root@mail ~]# printf "lisi" |openssl base64 //生成加密的用户字符串
bGlzaQ==
[root@mail ~]# printf "123123" |openssl base64 //生成加密的密码字符串
MTIzMTIz
telnet mail.huyouba1.com 25
ehlo mail.huyouba1.com
auth login
bGlzaQ==
MTIzMTIz
mail from:lisi@huyouba1.com
rcpt to:zhangsan@huyouba1.com
data
subject:smtp auth test!!!
hahahahahehehehe
.
quit
221 2.0.0 Bye
Outlook 2013 测试使用 SMTP 发信认证(略)
设置步骤: 文件 - 账户设置 - 更改 - 其他设置 - 发送服务器 - 勾选我的发送服务器,使用与接收邮件服务器相同的设置
二、构建 Web 邮件系统
SquirrelMail是使用PHP开发的一套网页程序,可以与Postfix,Dovecot很好地协作,通过Web界面提供邮件发送,接受和管理操作。
官网:www.squirrelmail.org
源码包:squirrelmail-1.4.22.tar.gz
中文语言包:zh_CN-1.4.22-20110425.tar.gz
1.搭建 php 环境
[root@mail ~]# yum -y install httpd php
2.部署 SquirrelMail 系统
[root@mail ~]# ls
zh_CN-1.4.18-20090526.tar.gz squirrelmail-webmail-1.4.22.zip
[root@mail ~]# unzip squirrelmail-webmail-1.4.22.zip
[root@mail ~]# ls
squirrelmail-webmail-1.4.22 squirrelmail-webmail-1.4.22.zip zh_CN-1.4.18-20090526.tar.gz
[root@mail ~]# cp -rf squirrelmail-webmail-1.4.22/* /var/www/html/
[root@mail ~]# tar xf zh_CN-1.4.18-20090526.tar.gz -C /var/www/html/
[root@mail ~]# chown -R apache.apache /var/www/html/
[root@mail ~]# cp /var/www/html/config/config_default.php /var/www/html/config/conf.php
[root@mail ~]# cp /var/www/html/config/config_default.php /var/www/html/config/config.php
[root@mail ~]# vim /var/www/html/config/config.php
118 $domain = 'huyouba1.com'; //当前域
211 $popServerAddress = 'localhost'; //新增,POP服务IP
212 $popPort = 110; //新增,POP服务端口
231 $imap_server_type = 'dovecot'; //指定imap服务器类型
257 $smtp_auth_mech = 'login'; //更改smtp认证方式
499 $data_dir = '/var/www/html/data/'; //默认邮件数据存放位置
1013 $squirrelmail_default_language = 'zh_CN'; //默认语言
1028 $default_charset = 'zh_CN.UTF-8'; //字符集类型
[root@mail ~]# systemctl start httpd
访问
浏览器 -> 192.168.100.100 -> 输入用户名密码登录 -> 使用
给 lisi@huyouba1.com 发送一封测试邮件
以 lisi 账号登录查收邮件
三、通过别名设置邮件组
1.编辑别名配置文件
[root@mail ~]# vim /etc/aliases
#
# Aliases in this file will NOT be expanded in the header from
# Mail, but WILL be visible over networks or from /bin/mail.
#
# >>>>>>>>>> The program "newaliases" must be run after
# >> NOTE >> this file is updated for any changes to
# >>>>>>>>>> show through to sendmail.
#
# Basic system aliases -- these MUST be present.
mailer-daemon: postmaster
postmaster: root
students: zhangsan,lisi
[root@mail ~]# newaliases
[root@mail ~]# systemctl reload postfix.service
2.测试群发邮件:
发现用户lisi与zhangsan都收到了邮件
四、邮件大小及邮箱空间限制
1.限制用户可发送的邮件大小
[root@mail ~]# vim /etc/postfix/main.cf
message_size_limit = 5120000
[root@mail ~]# systemctl restart postfix.service
用户测试
使用磁盘配额限制用户的邮箱空间大小(详细解释命令请参见磁盘配额部分) 略