所以我对 Linux 还是个新手,但是设置 Linux 盒子以使其可以使用 shell 发送邮件的步骤是什么?
echo "hello world" | mail [email protected]
我的意思是,我已经完成了必要的 sudo apt-get install mailsystem (或类似的操作)来设置邮件命令。但是,您是否还必须设置一个 .com 来指向您的 Linux 机器作为其 SMTP 服务器?还需要做什么?
答案1
鉴于您在问题中提到了 apt-get,我假设您正在使用基于 Debian 的衍生版本。
使用 exim4 邮件包可以相当简单地完成此操作。一个简单的
apt-get install exim4 exim4-config
将安装通过 smtp 发送邮件所需的一切。请注意,您需要成为 root 或使用 sudo 才能使 apt-get 命令发挥作用。
在安装过程中,exim4-config 软件包安装程序将询问您一些问题,以便您进行适当的配置。
您可能应该选择smarthost发送的邮件;没有本地邮件选项并提供您的外发邮件提供商的详细信息。也可以直接发送邮件互联网网站;直接使用 SMTP 发送和接收邮件但这可能会给您的互联网提供商带来问题,因此您最好开始使用智能主机。
如果您需要调整您的配置,您可以使用
dpkg-reconfigure -plow exim4-config
我猜测您的外发邮件提供商将要求您的计算机在允许发送邮件之前进行身份验证。在这种情况下,您需要添加一个条目/etc/exim4/passwd.client。格式非常简单,每个格式都采用服务器名:登录名:密码的格式,并记录在
man exim4_files
后者还告诉您如何配置其他设置文件。设置可能会有兴趣/etc/电子邮件地址确保当您作为特定用户发送电子邮件时,它会通过您的 ISP 作为您的真实发送地址发送
答案2
我不知道 debian 使用什么作为 /usr/bin/mail,但尝试获取一个可以向您显示它所经历的 SMTP 对话框的邮件客户端。我有“钉子”(显然现在是“mailx” -http://heirloom.sourceforge.net/mailx.html)在我的一台 Linux 机器上:
11:46AM 5 % nail -v -s "test letter" [email protected]
blah blah blah
.
EOT
[email protected]... Connecting to [127.0.0.1] via relay...
220 mydomain.com ESMTP Sendmail 8.13.8/8.13.3; Wed, 23 Feb 2011 11:46:38 -0700
>>> EHLO localhost.intranet
250-mydomain.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> MAIL From:<[email protected]> SIZE=230 [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
>>> .
250 2.0.0 p1NIkcHH024098 Message accepted for delivery
[email protected]... Sent (p1NIkcHH024098 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 mydomain.com closing connection
钉子 (mailx) 的“-v”标志会导致它向您显示 SMTP 对话框。在排除故障时,该输出非常宝贵。