RHEL 5服务篇—部署Postfix邮件系统(四)设置SMTP发信认证及别名机制

简介:

SMTP发信认证的常见形式如下:当用户通过SMTP协议向外部邮件域发送邮件时,服务器会要求用户提供用户账号和口令进行身份验证,只有成功通过身份验证的用户才被允许向外部发送邮件,否则将拒绝发信请求。

     在Postfix邮件系统中,可以使用Cyrus SASL软件来实现基本的SMTP认证机制。Postfix通过调用CyrusSASL的函数库,使用Cyrus SASL提供的认证服务saslauthd来核对系统账号和密码。

1、设置Cyrus SASL函数库,并启动saslauthd服务

[root@localhost /]#vim /usr/lib/sasl2/smtpd.conf

pwcheck_method:saslauthd         //设置使用saslauthd服务作为认证方式

[root@localhost /]#/etc/init.d/saslauthd start     //开启saslauthd服务

[root@localhost /]#chkconfig --level 35 saslauthd on    //设置35级别开机自启动

2、修改main.cf配置文件,添加SMTP认证配置,并重载服务

000340114.jpg

上述配置参数中,SMTP认证的几行设置含义如下:

mynetworks:用来控制可以通过本服务器外发邮件的网络地址或IP地址。

smtpd_recipient_restrictions:设置收件人地址过滤规则,其匹配策略是“从上至下”的顺序,如有满足策略,及立即停止。常见的几个值如下所述:

permit_mynetworks:允许IP地址为mynetworks的客户使用本邮件系统发送邮件。

permit_sasl_authenticated:允许通过SMTP认证的用户向外发送邮件。

reject_unauth_destination:当收件人地址不包括在postfix的授权网络内时,将拒绝发送该邮件。(授权网络包括由inet_interfaces、mydestination、relay_domain等配置参数指定的域及其子域)

3、验证SMTP发信认证

使用telnet命令做发信测试,测试不是SMTP认证的情况。

150534488.jpg

若要使用SMTP发信认证,在telnet命令中应改为“ehlo”(而不是helo)来宣告本机地址,并通过“auth login”进行登录认证,然后才能够正常发送邮件。用户名,密码字串默认使用base64编码格式,使用openssl工具可以生成。

151235831.jpg

再次使用telnet命令测试SMTP发信认证,则会成功的将邮件提交给Postfix服务器。

000402830.jpg

使用Outlook 2007客户端时,需要在邮箱属性中启用“我的发送服务器需要SMTP认证”选项。

000609561.jpg



通过别名机制设置邮件组

     在Postfix服务器中,邮件组功能主要通过aliase别名来实现,使用别名需要用到Postfix系统的一个重要机制——查询表。

Postfix服务器在操作过程中经常需要做各式各样的转换与查询,如判断客户机是否来自授权网络,设置群发邮件的用户成员等,这种包含了某种对应关系的数据集合就称为查询表。

1、设置邮件组——别名查询表

别名查询表文件一般位于/etc/aliases,在该文件中,每一行对应一条邮件组记录,格式为“别名:地址1,地址2,地址3...”。

列如:为邮箱用户test1和test2创建一个邮件组,邮件组为groupmail。

[root@localhost /]#vim /etc/aliases

......//省略部分内容

groupmail:test1,test2

[root@localhost /]#newaliases   //更新aliases文件数据库

注意:上述别名记录中,邮件组成员(如test1和test2)要求是服务器中实际存在的系统用户,而邮件组本身(如groupmail)只作为一个映射的别名,并不需要建立同名的系统用户。在修改完aliases查询表之后,需要使用newaliases命令更新数据库。

2、在Postfix主配置文件中,添加“alias_maps”配置参数来指导别名查询表存放的位置。如:/etc/aliases的hash数据文件。

[root@lcoalhost /]#vim /etc/postfix/main.cf

......//省略部分内容

alias_maps=hash:/etc/aliases        //使用hash格式的查询表

[root@localhost /]#postfix reload   //重新加载配置文件

3、测试群发邮件

新建一个用户user,使用user用户给groupmail发一封邮件,看test1和test2是否都能收到这封邮件。

003442511.jpg

查看test1是否收到这封邮件,邮件默认存储在“/home/test1/Maildir/new/”目录下。

003936408.jpg

查看test2是否也收到这封邮件

004056771.jpg



设置邮件大小及邮箱空间限制

1、限制用户可发送的邮件大小

Postfix系统默认支持的邮件大小为10MB,若要更改此限制,应在main.cf主配置文件添加配置参数“message_size_limit”。列如:将邮件大小有默认的10M,该为50M。

[root@localhost /]#vim /etc/posrfix/main.cf

......//省略部分内容

message_size_limit=5120000   //注意系统默认使用KB为单位

[root@localhost /]#postfix reload

2、限制用户的邮箱空间大小

在Postfix邮件系统中,根据邮件用户的类型,邮件存储的方式不同,可以分别采取不同的方法限制用户的邮箱空间大小。

方法一:使用quota磁盘配置,适用于Mailbox和Maildir两种存储方式。针对Linux系统用户作为邮件账户的情况,建议采用这种方式。

方法二:配置参数“mailbos_size_limit”,仅使用于Mailbox存储方式,默认的限制为50M。

方法三:配置参数virtual_mailbox_limit,适用于Mailbox和Maildir两种存储方式,但是只针对虚拟用户。




本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1219790,如需转载请自行联系原作者
相关文章
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
2046 0
【其他】邮箱的IMAP/SMTP服务开启与关闭(实现邮箱发送验证码的前提)
|
3月前
|
Ubuntu 数据库
在Ubuntu 12.04上安装和设置Postfix的方法
在Ubuntu 12.04上安装和设置Postfix的方法
42 1
【简洁】三步开启QQ邮箱SMTP服务并获取授权码
【简洁】三步开启QQ邮箱SMTP服务并获取授权码
|
6月前
|
存储 安全 Linux
linux中使用Postfix和Dovecot搭建邮箱系统服务
Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。 Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。
637 3
 linux中使用Postfix和Dovecot搭建邮箱系统服务
|
6月前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
242 0
|
6月前
|
存储 安全 API
IMAP/SMTP服务之间的区别和联系
IMAP与SMTP是电子邮件协议,前者用于接收和管理邮件,支持多设备同步,后者专注于发送邮件。两者协同工作,涉及邮件服务器间的通信,旨在提升效率和安全性。正确配置邮件客户端的IMAP和SMTP设置(如服务器地址、端口和安全选项)是关键。同时,使用安全连接和定期更换密码能保障邮件安全。AokSend提供触发式SMTP/API接口,高触达发信服务,强调独立IP和服务器的安全性。
|
C# 数据安全/隐私保护
C#接入SMTP邮件服务
这两个引用用于C#接入邮件的SMTP服务
287 0
|
数据安全/隐私保护
QQ邮箱开通SMTP服务
QQ邮箱开通SMTP服务
386 0
QQ邮箱开通SMTP服务
|
存储 Java API
JavaMail 使用POP3/SMTP服务发送QQ邮件
JavaMail 使用POP3/SMTP服务发送QQ邮件
521 0
JavaMail 使用POP3/SMTP服务发送QQ邮件
|
PHP 开发工具 数据安全/隐私保护
PHP使用phpmailer及SMTP服务实现邮件发送
第一种是PHP通过qq邮箱或者网易邮箱的SMTP服务器来实现邮件发送。 第二种是使用phpmailer来实现邮件发送。
695 0
PHP使用phpmailer及SMTP服务实现邮件发送