我在 CentOS 上安装了 sendmail,但没有配置它并作为守护程序启动它。我可以使用 sendmail 命令发送电子邮件吗, 发送邮件 admin@remotedomain.com <./我的电子邮件内容 我对这个命令没有运气。它似乎连接到 127.0.0.1 然后超时。 我认为sendmail将连接到远程smtp服务器(remotedomain.com)来传递电子邮件,但它似乎使用本地smtp服务器来中继电子邮件。如何使用发送邮件发送电子邮件?
sendmail
是发送电子邮件的"低级"工具/命令。它需要"原始"电子邮件。
考虑使用更高级别的工具,例如mail
.
如果您想发送简单的电子邮件并且更喜欢可移植性,请查看以下脚本:
#!/bin/sh
# sendmail or "sendmail look alike" provided by postfix/exim/...
SENDMAIL=/usr/sbin/sendmail
## Or use custom "sendmail look alike"
## e.g. msmtp which can send without local SMTP server
#SENDMAIL=/usr/bin/msmtp
TO=me@example.net
$SENDMAIL -i -- $TO <<END_OF_EMAIL
Subject: My test message subject
To: $TO
X-Comment: Use empty line to separate email headers from email body
My test message body
END_OF_EMAIL
要使用sendmail,您首先需要安装后缀:
>> sudo apt-get install postfix
您必须通过运行>> dpkg-reconfigure postfix
并按照说明进行操作来配置后缀设置。然后运行>> service postfix reload
以运行该服务。
注意:/usr/sbin/sendmail
使用sendmail
命令进行别名。您实际上可以通过键入which sendmail
来解决这个问题。因此,您无需输入文件名,只需输入sendmail:)
要使用sendmail
:
示例:
>> sendmail recipient@whatever.com
Subject: Subject Line
... Email Body Here ...
然后在新行上按CTRL+D
,这将发送电子邮件
如果您发现电子邮件速度很慢或无法正常工作,则此链接可以很好地侵入该怎么做:https://www.digitalocean.com/community/questions/sendmail-is-slow-to-send-mail
如果您想添加带有sendmail
的文件附件,我建议您uuencode
.要使用它,您需要安装:
>> sudo apt install sharutils
uuencode
将文件编码为电子邮件友好文本 (https://linux.die.net/man/1/uuencode)
示例:
uuencode /path/to/file.txt /path/to/file.txt | sendmail "recipient@whatever.com"
请记住,您必须将/path/to/file.txt
放置两次,因为它需要输入文件和输出,否则它将在下面运行命令行条目。