CentOS下使用Postfix收发信

目标

直接在服务器上使用Postfix收发信(并非使用Foxmail等客户端)。

环境

域名一个(假设为yourdomain.com)

服务器一台

CentOS 7.9

Postfix 2.10.1

配置域名解析

添加A记录,主机记录为mail,记录值为服务器的公网IP(此处假设为12.34.56.78)。

添加MX记录,主机记录为@,记录值为mail.yourdomain.com

配置服务器

使用以下命令修改hostname。

hostnamectl set-hostname mail.yourdomain.com

配置Postfix

CentOS 7.9自带Postfix,使用以下命令查看版本。

postconf mail_version

使用以下命令启动Postfix。

systemctl start postfix

使用以下命令使Postfix开机自启。

systemctl enable postfix

使用以下命令查看Postfix的状态。

systemctl status postfix

看到enabled和active即可。

使用以下命令配置Postfix,具体意义自行查询。

postconf -e "inet_interfaces = all"
postconf -e "myhostname = mail.yourdomain.com"
postconf -e "myorigin = yourdomain.com"
postconf -e "mydestination = yourdomain.com, \$myhostname, localhost.\$mydomain, localhost"

使用以下命令重启Postfix。

systemctl restart postfix

使用以下命令打开25端口(TCP)。

firewall-cmd --permanent --add-port=25/tcp

运行后输出FirewallD is not running,因为本来防火墙就没开(此处不讨论这个问题)。

可以使用网上的TCP Port Scanner来检测上述25端口是否打开,非必须。

使用以下命令安装Telnet。

yum install -y telnet

使用以下命令测试上述25端口是否能向外导通。

telnet gmail-smtp-in.l.google.com 25

输出应该与如下内容相似。

Trying 55.66.77.88...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP d9685215c04436cbebdsi42-1fed7f1a733ad.514 - gsmtp

如果失败会显示Connection timed out等。某些云服务器的25端口不能向外导通。HW云可以。

输入quit然后回车进行退出。

测试

使用以下命令测试发信功能。

echo "test email" | sendmail xxoo@qq.com

使用以下命令测试收信功能(输入之后按数字键来打开对应的邮件)。

mail

原文链接

https://www.linuxbabe.com/redhat/run-your-own-email-server-centos-postfix-smtp-server

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值