Linux 网络服务08-Postfix 邮件系统(二)

一、启动 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

用户测试

使用磁盘配额限制用户的邮箱空间大小(详细解释命令请参见磁盘配额部分) 略

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦