如果您成為Linux服務(wù)器高級用戶,關(guān)鍵是多用命令行,少用Gui;多用鍵盤,少用鼠標(biāo)! 隨著Linux命令行工具越來越多,不僅是管理性的,還有一些非管理性的,其實(shí)至關(guān)重要的日常工作,都是使用命令行來完成的。
在本文中,我們將學(xué)習(xí)如何在Linux服務(wù)器中使用mail命令發(fā)送一封帶有文件附件的電子郵件。
前提條件
已經(jīng)在你的Linux服務(wù)器上用SMTP配置了你的電子郵件。這個郵件和服務(wù)器將被我們今天要學(xué)習(xí)的 “郵件 “程序所使用。
mail “這個程序可以用來從命令行發(fā)送電子郵件,以及電子郵件的附件。這個程序在默認(rèn)情況下是不可用的,可以在 Debian 和 Red Hat 發(fā)行版中使用以下方法安裝。
$ sudo apt install mailutils [在Debian/Ubuntu/Mint系統(tǒng)服務(wù)器上]
$ sudo dnf install mailx [在RedHat/centos/Fedora系統(tǒng)服務(wù)器上] 。
使用’mail’發(fā)送郵件的語法如下。
$ echo “Email Message Body” | mail -s “Subject of the Email” target@domain.com
你可以看到,我們使用echo命令來輸出消息正文,并將此輸出重定向到’mail’命令。這是因?yàn)?#8217;mail’命令從標(biāo)準(zhǔn)輸入中讀取郵件正文的輸入。
從命令行發(fā)送帶有文件附件的電子郵件。
同樣的,要在郵件中附加一個文件,可以使用參數(shù)’-A’。
$ echo “Email Message Body” | mail -s “Subject of the Email” target@domain.com -A
從命令行發(fā)送電子郵件給多個收件人。
要發(fā)送郵件給多個收件人,只需指定多個郵件ID,并用逗號分隔。
$ echo “Email Message Body” | mail -s “Subject of the Email” target1@domain.com;target2@domain.com,target3@domain.com -A
要在郵件中包含一個文本文件,而不是使用echo,你可以將文件的文本重定向到如下所示的命令。
$ mail -s “Subject of the Email” target@domain.com -A
我們看到了一種從Linux服務(wù)器中的命令行發(fā)送電子郵件和附件的方法。還有一些其他的程序,如’mutt’和’Sendmail’,它們與’mail’類似,可以用于同樣的目的。