在 Linux 系統中,若需使用 Sendmail、Exim 等郵件服務發送郵件,正確配置主機名稱(FQDN)至關重要。錯誤的主機名稱會導致郵件被拒收或標記為垃圾郵件。本文詳細說明如何檢查並永久修改主機名稱,以 ahuang.org 為例演示完整流程。
執行以下指令查看完整主機名稱(FQDN):
hostname -f
若輸出不是合法的網域名稱(如僅顯示 localhost 或 IP),即需修改。
hostname ahuang.org
此指令立即生效,但重啟後會還原。永久修改需編輯配置檔。
/etc/hosts 解析對照表vim /etc/hosts
將內容調整為類似如下格式(請將 IP 替換為實際公網或內網 IP):
127.0.0.1 localhost.localdomain localhost
173.255.246.150 ahuang.org ahuang
說明:第一行保留本地回環;第二行將實際 IP 映射至完整主機名稱 ahuang.org 及短名稱 ahuang,確保本地解析正確。
/etc/sysconfig/network 固化主機名稱vim /etc/sysconfig/network
找到 HOSTNAME 參數並修改,若不存在則新增:
HOSTNAME=ahuang.org
存檔離開後,重啟網路服務或重啟系統即可永久生效。
echo "Subject: test" | /usr/lib/sendmail -v heaphy@126.com
若郵件成功發送並被對方接收,代表主機名稱配置正確,郵件服務已就緒。
提示:修改主機名稱後,建議同步檢查
/etc/hostname(部分發行版使用此檔案)及 DNS 正反向解析設定,確保生產環境郵件信譽不受影響。