如何使用 sendmail 发送测试电子邮件

如何使用 sendmail 发送测试电子邮件

我已经在 /etc/hosts 中设置了 FQDN:

127.0.0.1 hostname.domain hostname
127.0.0.1 localhost
  • 但是如果我运行hostname它,它会返回 FQDN?这里有什么问题吗?

然后跑:sendmailconfig

我已经用这个来测试: 但是我无法成功发送......它挂了,就像这样:echo "Subject: hello" | sendmail -v [email protected] < mail.txt

root@debianxx:~# echo "Subject: hello" | sendmail -v [email protected] < email.txt 
[email protected]... Connecting to [127.0.0.1] via relay...
220 debianxx.online ESMTP Sendmail 8.15.2/8.15.2/Debian-22; Sat, 19 Nov 2022 07:53:11 GMT; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
>>> EHLO debianxx.online
250-debianxx.online Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> VERB
250 2.0.0 Verbose mode
>>> MAIL From:<[email protected]> SIZE=47 [email protected]
250 2.1.0 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 <[email protected]>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .

无论我输入什么,它都会挂在“。”提示符处。

  • 附言:我已经用 检查过开放端口nc -l 25

编辑sendmail日志:

Nov 19 12:21:14 simplysocial sendmail[7718]: alias database /etc/mail/aliases rebuilt by root
Nov 19 12:21:14 simplysocial sendmail[7718]: /etc/mail/aliases: 0 aliases, longest 0 bytes, 0 bytes total
Nov 19 12:21:14 simplysocial sm-mta[7784]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Nov 19 12:21:29 simplysocial sendmail[8460]: alias database /etc/mail/aliases rebuilt by root
Nov 19 12:21:29 simplysocial sendmail[8460]: /etc/mail/aliases: 0 aliases, longest 0 bytes, 0 bytes total
Nov 19 12:21:31 simplysocial sm-mta[7784]: restarting /usr/sbin/sendmail-mta due to signal
Nov 19 12:21:31 simplysocial sm-mta[8510]: starting daemon (8.15.2): SMTP+queueing@00:10:00
Nov 19 12:21:52 simplysocial sendmail[8544]: 2AJCLq0k008544: from=root, size=47, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
Nov 19 12:21:52 simplysocial sm-mta[8545]: 2AJCLqu9008545: from=<[email protected]>, size=335, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Nov 19 12:21:52 simplysocial sendmail[8544]: 2AJCLq0k008544: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30047, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (2AJCLqu9008545 Message accepted for delivery)

答案1

我已经设置了 FQDN,/etc/hosts但运行 hostname 时它返回的是 FQDN?这里面有什么问题吗?

不。

  1. 您的系统对于其主机名的概念与 中设置的内容无关/etc/hosts
    您的系统主机名是内核可调的(例如,请参阅sysctl kernel.hostnamecat /proc/sys/kernel/hostname),通常在启动时以特定于发行版的方式设置(在基于 systemd 的主机上,您通常使用以下方式配置系统主机名hostnamectl) 并且主机名可以在运行时使用hostname some.name命令或类似命令(如sysctl kernel.hostname=some.namehostnamectl set-hostname some.name 等)进行更改
    。根据方法的不同,更改是持久的,否则主机名将在下次重启时恢复。

  2. 虽然有惯例,但如今通常没有实际(技术)要求主机名some.name是短单标签hostname或 FQDN hostname.example.com.。两者都允许:例如参见设置主机名:FQDN 还是短名称?

  3. 当您将 FQDN 设置为主机名时,该hostname命令和hostname --fqdn命令都将返回 FQDN。


需要注意的是sendmail 命令并非旨在用作用户界面例程,有更好的实用程序可以从命令行发送邮件。例如,经典mail命令和。mailx

sendmail 是否在您的系统日志中记录错误消息?

输出Connecting to [127.0.0.1] via relay.表明您已经为 sendmail 配置了中继,用 sendmail 术语来说就是“智能主机”。

那个中继器能接通吗?

相关内容