[英]How can I send an email through the UNIX mailx command?
如何通過 UNIX mailx
命令發送電子郵件?
一個例子
$ echo "something" | mailx -s "subject" recipient@somewhere.com
發送附件
$ uuencode file file | mailx -s "subject" recipient@somewhere.com
並發送附件並編寫消息正文
$ (echo "something\n" ; uuencode file file) | mailx -s "subject" recipient@somewhere.com
這個給你 :
echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"
附注。 正文和主題應保持在雙引號內。 從FROM_EMAIL
和To_EMAIL
刪除引號,同時替換電子郵件地址。
mailx -s "subjec_of_mail" abc@domail.com < file_name
通過mailx
實用程序,我們可以將文件從unix
發送到mail server
。 在上面的代碼中,我們可以看到第一個參數是-s "subject of mail"
,第二個參數是mail ID
,最后一個參數是我們要附加的文件名
使用 MUTT 命令更快
echo "Body Of the Email" | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)" -c cc_mail@g.com to_mail@g.com -y
mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress
-c 和 -b 是可選的。
-s :指定主題;如果主題包含空格,請使用引號。
-c : 將副本發送到以逗號分隔的用戶列表。
-b : 將密件發送到以逗號分隔的用戶列表。
希望我的回答能解開你的疑惑。
從手冊頁:
發送郵件
要將消息發送給一個或多個人,可以使用參數調用 mailx,這些參數是將向其發送郵件的人的姓名。 然后希望用戶輸入他的消息,然后在一行的開頭輸入“control-D”。
換句話說,mailx 從標准輸入讀取要發送的內容,並且可以像正常一樣重定向。 例如:
ls -l $HOME | mailx -s "The content of my home directory" someone@email.adr
echo "Sending emails ..."
NOW=$(date +"%F %H:%M")
echo $NOW " Running service" >> open_files.log
header=`echo "Service Restarting: " $NOW`
mail -s "$header" abc.xyz@google.com, \
cde.mno@yahoo.com, \ < open_files.log
自定義發件人地址
MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="u@u.com"
FROM="DONOTREPLY"
echo $MESSAGE | mail -s "$SUBJECT" $TOADDR -- -f $FROM
這是一個多功能功能,用於處理帶有多個附件的郵件發送:
enviaremail() {
values=$(echo "$@" | tr -d '\n')
listargs=()
listargs+=($values)
heirloom-mailx $( attachment=""
for (( a = 5; a < ${#listargs[@]}; a++ )); do
attachment=$(echo "-a ${listargs[a]} ")
echo "${attachment}"
done) -v -s "${titulo}" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://$1 \
-S from="${2}" \
-S smtp-auth-user=$3 \
-S smtp-auth-password=$4 \
-S ssl-verify=ignore \
$5 < ${cuerpo}
}
函數調用:enviaremail "smtp.mailserver:port" "from_address" "authuser" "'pass'" "destination" "以空格分隔的附件列表"
注意:去掉調用中的雙引號
另外請記得在使用該函數之前在外部定義電子郵件的 $titulo(主題)和 $cuerpo(正文)
如果您要發送兩個以上的人或 DL :
echo "Message Body" | mailx -s "Message Title" -r sender@someone.com receiver1@someone.com,receiver_dl@.com
這里:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.