如果这是一个愚蠢/多余的问题,我深感抱歉。
我有一台 Ubuntu Server 16.04,主要用作测试环境和学习体验。我在此服务器上设置了 SSH,运行良好。我安装了 mailutils ssmtp,以便使用 cron 作业每天使用我的外部 IP 向我发送电子邮件。我现在太懒/太小气了,不想设置静态 IP。
每当我收到这封电子邮件时,它都会自动将地址@服务器名称和 ip@服务器名称密送。我似乎无法弄清楚这种情况在哪里/为什么发生。
下面是我正在使用的脚本。
代码是从其他来源借来的,不是我自己的。
#!/bin/sh
SUBJ="Server IP Address"
EMAIL="[email protected]"
ip2=""
ip2=$(wget -qO- ifconfig.me/ip)
echo "$ip2" | mail -s $SUBJ $EMAIL
exit
fi
当 Logwatch 向 root@servername 以外的对象发送报告电子邮件时,我也遇到了这个问题。
如果我忽略了提供更多信息或者这真的很愚蠢,请告诉我。
我已经尝试检查可能的修复方法,但可能由于措辞问题而错过了。感谢您的帮助。
答案1
在尝试修复其他问题时发现了修复方法,很有趣的是它的工作原理。
#!/bin/sh
(wget -qO- ifconfig.me/ip) > ip.txt
mail -s "HomeOne IP Address" [email protected] < ip.txt
无论出于什么原因,bash 脚本中的变量都导致邮件变得奇怪并尝试将其发送到陌生且不存在的电子邮件地址。