使用Mail命令无法发送邮件的问题求助
Mail命令无法发送邮件的问题求助
看起来你在用Linux系统的mail命令发送邮件时遇到了投递失败的问题,我先帮你梳理下当前的情况,再给出几个实用的排查方向:
你的操作与问题现状
- 尝试发送测试邮件的命令:
mail -s "Test Email" tm@kth.se,邮件内容为Testing,但发送未成功 - 执行
mail命令查看本地邮箱时,收到两封来自MAILER-DAEMON的退信,提示邮件无法投递
退信部分内容
Return-Path: <>
X-Original-To: jonathan@jonathan-Aspire-E5-573
Delivered-To: jonathan@jonathan-Aspire-E5-573
Received: by jonathan-Aspire-E5-573 (Postfix)
id 9D0AF565866; Mon, 8 Apr 2024 10:04:59 +0200 (CEST)
Date: Mon, 8 Apr 2024 10:04:59 +0200 (CEST)
From: MAILER-DAEMON@jonathan-Aspire-E5-573 (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
To: jonathan@jonathan-Aspire-E5-573
Auto-Submitted: auto-replied
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="..."
排查建议
- 查看完整退信细节:你提供的退信内容不完整,
boundary之后的部分会包含具体的失败原因(比如SMTP连接失败、被对方服务器拒收、DNS解析错误等)。在mail交互界面输入2就能查看第二封退信的全部内容,错误代码和描述是定位问题的核心依据。 - 检查Postfix配置:你的系统使用Postfix作为邮件服务,默认情况下它只处理本地邮件,没有配置外部SMTP中继。你可以打开
/etc/postfix/main.cf文件,检查relayhost配置项——如果要发送外部邮件,这里需要填写你的邮箱提供商或ISP的SMTP服务器地址(比如[smtp.example.com]:587),同时还要配置对应的认证信息(通常在/etc/postfix/sasl_passwd中设置)。 - 验证网络与DNS:先用
dig kth.se MX命令检查kth.se的邮件服务器是否能正常解析;再确认本地防火墙没有封锁SMTP端口(默认25,很多ISP会封这个端口,建议优先尝试465或587加密端口)。 - 测试本地邮件功能:先尝试发送邮件到本地用户(比如
mail -s "Local Test" jonathan),如果本地能正常接收,说明问题出在外部邮件投递的配置上;如果本地也失败,可能是Postfix服务本身没有正常运行,可通过systemctl status postfix查看服务状态。
备注:内容来源于stack exchange,提问作者Jonte YH




