ctrl+D 在邮件中不起作用

ctrl+D 在邮件中不起作用

我正在尝试测试我的服务器的邮件功能。我只需执行此操作,然后它会提示我输入正文。输入后,我按下 Control + D,但似乎它没有退出正文。我在这里遗漏了什么?mail -s "This is a test" [email protected]Cc:

答案1

你可以用一行代码发送邮件

echo "This is the mail body" | mail -s "This is the subject" [email protected]

无需进一步输入。

答案2

这可能是由于配置错误而发生的mail

要了解问题,请打开调试机制,例如:

$mail -s "test" [email protected] --debug-level=3
Cc: 
Hello. This is a test.
.
.(doesn't work until Ctrl+D, I'm using mailutils package)
.
sendmail (/usr/sbin/sendmailn
source=system, name=user, passwd=x, uid=1000, gid=1000, gecos=,,,, dir=/home/user, shell=/bin/bash, mailbox=/var/mail/user, quota=0, change_uid=1
source=system, name=user, passwd=x, uid=1000, gid=1000, gecos=,,,, dir=/home/user, shell=/bin/bash, mailbox=/var/mail/user, quota=0, change_uid=1
mu_mailer_send_message(): using From: user@example
Sending headers...
Sending body...
^C

(请注意配置错误的 user@example)

因此进程停止发送正文。您还可以检查/var/log/mail.{err,log}。要正确配置 smtp,请参阅例如

答案3

除了 Yaroslav 在 2016 年给出的出色回答之外,一个常见的配置错误是主机名配置不正确。Sendmail 需要完全限定的域名才能发送邮件,但很容易被欺骗,认为主机名是myhostname这样的,只需将该名称添加到 的第一行/etc/hosts即可,如下所述:https://linuxconfig.org/sendmail-unqualified-hostname-unknown-sleeping-for-retry-unqualified-hostname

相关内容