您好,欢迎访问这里是深圳市硕远科技有限公司!
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
联系我们
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
邮箱:2324898850@qq.com
电话:400-080-6079
地址:深圳市龙华区河背工业区108创业园A301
当前位置:主页 > 新闻动态 > 行业新闻 >

行业新闻

使用Postfix+SASL搭建SMTP邮件服务器

发布时间:2022-04-23 08:00:01浏览次数:
1. 介绍

1.1 介绍

福哥在使用docker-compose搭建邮箱服务器的时候发现sendmail需要依赖的服务非常多,势必需要用到privileged权限,而福哥非常不想在这样的服务里面分配这么高的权限,那么怎么办呢?

后来经过一番研究,发现了postfix这个小可爱,它真的很简单,真的很好用,比起sendmail来说配置起来舒服太多了!配合着dovecot服务,就可以轻松搭建邮箱服务器了!

2. 安装

2.1 安装

直接通过yum安装即可。

yum -y install postfix cyrus-sasl cyrus-sasl-plain rsyslog
3. 基本配置

postfix是一个实现SMTP服务的软件,相比较sendmail它更加的软件,配置起来也方便,非常的好用~~

3.1 配置文件

配置文件是/etc/postfix/main.cf,里面有一些默认参数。

3.2 参数预览

使用postconf -n查看配置文件main.cf当前的配置参数。


3.3 myhostname

设置为邮箱服务器的域名。

myhostname = mail.test.tongfu.net

3.4 mydomain

设置为邮箱域名。

mydomain = test.tongfu.net

3.5 myorigin

设置为邮箱域名,这里可以使用mydomain的设置。

myorigin = $mydomain

3.6 inet_interfaces

设置服务器使用所有网络,否则只能本机连接25端口。

inet_interfaces = all

3.7 重启

重启postfix之后,可以通过telnet测试SMTP服务是否正常。

systemctl restart postfix

3.8 测试

福哥使用telnet验证了postfix的SMTP服务,因为福哥没有配置认证部分,所以发邮件是不需要用户名/密码的。

4. SASL认证

默认情况下使用postfix发送电子邮件是不需要认证的,这个内部系统调用还好,如果是当作用户邮箱使用就不合适了!

postfix的认证方式和sendmail一样,也是利用SASL实现的。

4.1 启动SASL

打开/etc/postfix/main.cf,增加如下两行配置。

smtpd_sasl_path = smtpd
smtpd_sasl_auth_enable = yes

4.2 客户端支持

默认情况下我们是无法使用巨婴的Outlook去连接postfix的,如果要支持这些邮件客户端的话,需要在/etc/postfix/main.cf里面设置一下。

broken_sasl_auth_clients = yes

4.3 禁止匿名

默认情况下postfix是允许匿名方式发送邮件的,我们需要在/etc/postfix/main.cf里关闭一下。

smtpd_sasl_security_options = noanonymous

虽然关闭了匿名发送邮件,但是依然可以不用认证就发送邮件,这个有点迷惑~~

4.4 寄信限制

默认情况下是可以通过匿名方式发送邮件的,我们需要在/etc/postfix/main.cf里面设置一下。

smtpd_recipient_restrictions = permit_sasl_authenticated, reject

这段的意思是,通过sasl认证的可以,其他拒绝。

4.5 认证方式

默认情况下SASL是使用PAM作为认证方式的,福哥打算使用Linux本地用户作为认证源。

通过下面的命令可以查看可用的认证方式:

saslauthd -v

打开/etc/sysconfig/saslauthd,将MECH设置为shadow,也就是使用本地用户来认证。

MECH=shadow

4.6 重启

使用下面的命令重启postfix和saslauthd两个服务。

systemctl restart saslauthd
systemctl restart postfix

4.7 创建用户

我们创建test这个用户,设置密码为123456。

useradd test
passwd test

4.8 测试

福哥还是使用telnet测试postfix的服务,因为开启了认证,这里需要使用auth login登录之后才能发送邮件了。

5. 总结

今天福哥带着童鞋们学习了使用Postfix+SASL搭建SMTP服务器的技巧。通常情况下,一个系统需要向外发送电子邮件的话,使用Postfix+SASL就足够了。

如果我们是搭建一个可以发送邮件,又可以接收邮件的全功能邮件服务器,应该怎么做呢?

下一课,福哥会带着童鞋们通过Dovecot+SASL来搭建POP服务器,使用POP服务器就可以实现接收邮件的目的了!


https://m.tongfu.net/home/35/blog/513503.html

400-080-6079