在CentOS / RHEL机器上,执行以下操作:
$ yum install -y mailx
而就是这样!现在我们可以开始使用“邮件”(或mailx)命令发送电子邮件了。
什么是符号链接和如何创建一个
符号链接(符号链接)是由对另一个现有文件的引用组成的文件。
一些监控脚本和应用程序可能使用“电子邮件”而不是“邮件”或“mailx”来发送电子邮件。如果您遇到这种情况,您可以创建一个符号链接,指向(引用)到mailx。
下面,我们创建一个“邮件”执行“mailx”的符号链接。
为了创建符号链接,请运行以下命令(用/bin/email所需的链接名称替换):
$ ln -s /bin/mailx /bin/email
如何将外部SMTP服务器设置为中继电子邮件
如上所述,使用这种精益解决方案可能意味着您的某些电子邮件可能会触发垃圾邮件文件夹。正如你正在瞄准一个简单的警报应用程序,这不应该是一个问题。但是,如果您希望提高发送速率(即收件箱),则可以选择通过外部SMTP服务器(即您的电子邮件提供商或商业电子邮件服务)转发邮件。
为了设置一个SMTP服务器[配置]为“mailx”来使用,我们需要编辑/etc/mail.rc应用程序的[某些]设置被发现的文件的内容。我们打算使用“nano”文本编辑器打开这个文件,并将我们的设置附加到顶部。
使用“nano”打开“mail.rc”:
$ nano /etc/mail.rc
在下面,您可以找到一个示例SMTP设置,在添加到“mail.rc”的顶部之前,您需要修改它以匹配提供商的设置。以#符号开始的行被注释掉 - 意思是,它们不是有效的 - 并且由结构组成。以下行是您需要相应地替换以符合您的SMTP服务器的详细信息。
例:
# set smtp=smtp://smtp.server.tld:port_number
set smtp=smtp://smtp.example.com:543
# tell mailx that it needs to authorise
set smtp-auth=login
# set the user for SMTP
# set [email protected]
set [email protected]
# set the password for authorisation
set smtp-auth-password=enter-password-here-1234
按“CTRL + X”并确认“Y”保存并退出。
从现在开始,所有发送的邮件都将使用您刚刚设置的配置进行转发。
提示:您可以考虑使用Gmail的服务器,或者提供一个简单易用的专业邮件服务的SMTP服务器,例如MANDRILL,它允许您每个月免费发送数千封邮件。
发送电子邮件mail(或mailx)
尽管您可以直接与MTA sendmail进行交互,但是在安装“mailx”之后,还可以安装其他许多功能,以便在必要时配置[未来]。
以下是传家宝mailx的一些可用选项:
-a 文件允许您将给定的文件附加到电子邮件
-b 地址发送密件副本以逗号分隔的电子邮件地址列表
-c 地址将副本发送到用户列表
-q 文件设置给定文件的消息内容
-r 从地址设置要发送的电子邮件的发件人地址
-s 主题设置电子邮件主题
有关选项的完整列表,请点击此处访问相关文档。
用法示例:
发送一个简单的消息:
echo "Your message" | mail -s "Message Subject" email@address
用附件发送消息:
echo "Message" | mail -s "Subject" -a /loc/to/attachment.txt email@address
从文件中读取消息正文:
echo | mail -s "Subject" -r from@address -q /loc/to/body.txt email@address
注意:除非您设置了外部SMTP服务器,否则您的电子邮件可能会放在垃圾邮件文件夹中,您需要手动重定向到您的收件箱才能继续接收邮件。
linux