温馨提示×

CentOS下如何配置SMTP邮件服务器

小樊
44
2026-01-02 07:21:23
栏目: 云计算

在CentOS系统下配置SMTP邮件服务器,可以使用Postfix作为邮件传输代理(MTA)。以下是详细的步骤:

1. 安装Postfix

首先,确保你的系统是最新的,然后安装Postfix。

sudo yum update -y
sudo yum install postfix -y

2. 配置Postfix

安装完成后,你需要配置Postfix。编辑主配置文件 /etc/postfix/main.cf

sudo vi /etc/postfix/main.cf

在文件中添加或修改以下内容:

# 设置系统邮件名称
myhostname = mail.yourdomain.com

# 设置域名
mydomain = yourdomain.com

# 设置邮件服务器的IP地址
inet_interfaces = all

# 允许所有IP地址通过SMTP连接
inet_protocols = ipv4

# 设置SMTP认证
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

# 设置TLS加密
smtpd_tls_cert_file = /etc/pki/tls/certs/yourdomain.crt
smtpd_tls_key_file = /etc/pki/tls/private/yourdomain.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# 设置邮件队列目录
queue_directory = /var/spool/postfix

3. 配置SASL认证

为了启用SMTP认证,你需要配置SASL。安装Cyrus SASL库:

sudo yum install cyrus-sasl-plain cyrus-sasl-md5 -y

编辑SASL配置文件 /etc/sasl2/smtpd.conf

sudo vi /etc/sasl2/smtpd.conf

添加以下内容:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN

创建SASL密码数据库:

sudo touch /etc/sasl2/sasl_passwd.db
sudo chown postfix:postfix /etc/sasl2/sasl_passwd.db
sudo chmod 660 /etc/sasl2/sasl_passwd.db

添加SMTP认证用户:

sudo vi /etc/sasl2/sasl_passwd

添加以下内容(替换 usernamepassword):

[mail.yourdomain.com]:587 username:password

生成SASL密码数据库:

sudo postmap /etc/sasl2/sasl_passwd

4. 重启Postfix服务

保存所有更改后,重启Postfix服务以应用配置:

sudo systemctl restart postfix

5. 测试SMTP服务器

你可以使用 telnetopenssl 来测试SMTP服务器是否正常工作。

使用telnet测试

telnet mail.yourdomain.com 25

连接成功后,你应该会看到类似以下的输出:

220 mail.yourdomain.com ESMTP Postfix

然后输入以下命令进行认证:

EHLO yourdomain.com
AUTH LOGIN

输入Base64编码的用户名和密码:

dXNlcm5hbWU6cGFzc3dvcmQ=
cGFzc3dvcmQ6cGFzc3dvcmQ=

如果认证成功,你会看到类似以下的输出:

235 2.7.0 Authentication successful

使用openssl测试

openssl s_client -connect mail.yourdomain.com:25 -starttls smtp

连接成功后,输入以下命令进行认证:

EHLO yourdomain.com
AUTH LOGIN

输入Base64编码的用户名和密码:

dXNlcm5hbWU6cGFzc3dvcmQ=
cGFzc3dvcmQ6cGFzc3dvcmQ=

如果认证成功,你会看到类似以下的输出:

235 2.7.0 Authentication successful

通过以上步骤,你应该能够在CentOS系统下成功配置一个SMTP邮件服务器。

0