因此,我想从服务器发送电子邮件。
我安装了 mailx
apt-get install mailx
但是这样的命令
mail -s "Hello world" me@gmail.com
实际上在/ var / spool / mail /中给出错误,内容为:
Mailing to remote domains not supported.
为什么会这样呢?
因此,我想从服务器发送电子邮件。
我安装了 mailx
apt-get install mailx
但是这样的命令
mail -s "Hello world" me@gmail.com
实际上在/ var / spool / mail /中给出错误,内容为:
Mailing to remote domains not supported.
为什么会这样呢?
Answers:
您在本地使用什么MTA?mail
只是使您能够形成邮件,但是您仍然需要和MTA进行实际传递?默认情况下,大多数发行版都随附sendmail。您可能需要安装另一个MTA或配置当前的MTA以支持外部交付。
/etc/exim4/update-exim4.conf.conf
和更改该行以读取dc_eximconfig_configtype='internet'
并重新启动exim。如果您使用的是其他发行版,请确保此行如下所示hostlist relay_from_hosts = 127.0.0.1
dpkg-reconfigure exim4-config
“向导”命令,它现在可以工作了!谢谢!
# fgrep remote /var/log/exim4/mainlog.1 | sed -E 's#([ <])[^ <]+@[^ >]+([ >])#\1a@b\2#g' | head -1 2019-01-08 00:47:00 1ggebk-00055M-St ** a@b <a@b> R=nonlocal: Mailing to remote domains not supported #
似乎Debian可能附带了一个exim4
,它被设置为在未阻止传出smtp端口的连接互联网的计算机上无法正常工作。
正如各种注释中指出的那样,要使其正常运行,必须先运行它dpkg-reconfigure exim4-config
,然后在向导中选择第一个internet
选项。请注意,在向导的后续对话框中,默认值仍设置为仅侦听localhost
IPv4 / IPv6地址,因此,看起来,如果不理会其他默认值,则仍将进来的SMTP端口仅留下来。
为了验证向导是否正常工作,您可以检查特定于Debian的代码/etc/exim4/update-exim4.conf.conf
(是,是double .conf.conf
,不是错字),这在这场惨败中发挥了作用。这是运行后dpkg-reconfigure exim4-config
仅更改向导中的第一个选项(可以启用发送邮件),但使SMTP端口仅对计算机本身开放的相关部分(如果您在第一个选项之后仅单击重新配置中的默认选项,则为默认选项) :
dc_eximconfig_configtype='internet'
…
dc_local_interfaces='127.0.0.1 ; ::1'
另一个解决方案是在jessie及更高版本中安装DragonFly Mail Agent(https://packages.debian.org/jessie/dma),这是MTA的简单实现,除了传入的SMTP外,还实现了所有好的UNIX邮件功能,因此,您不必担心配置错误或外部漏洞。