UNIXのmailx
コマンドを使って電子メールを送信するにはどうすればよいですか?
例
$ echo "something" | mailx -s "subject" [email protected]
添付ファイルを送信する
$ uuencode file file | mailx -s "subject" [email protected]
添付ファイルを送信し、メッセージ本文を書き込む
$ (echo "something\n" ; uuencode file file) | mailx -s "subject" [email protected]
はい、どうぞ :
echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"
PS。本文と件名は二重引用符で囲みます。電子メールアドレスを置き換えるときにFROM_EMAIL
とTo_EMAIL
から引用符を削除します。
mailx -s "subjec_of_mail" [email protected] < file_name
mailx
ユーティリティを通して、unix
からmail server
にファイルを送ることができます。上のコードでは、最初のパラメータが-s "subject of mail"
で、2番目のパラメータがmail ID
で、最後のパラメータが添付したいファイルの名前です。
MUTTコマンドでより速く
echo "Body Of the Email" | mutt -a "File_Attachment.csv" -s "Daily Report for $(date)" -c [email protected] [email protected] -y
Manページから:
メール送信
1人以上の人々にメッセージを送るために、mailxはメールが送られる人々の名前である引数で呼び出されることができます。その後、ユーザーは自分のメッセージを入力し、続いて行の先頭に「control-D」を入力するようになっています。
つまり、mailxは送信するコンテンツを標準入力から読み取り、通常どおりにリダイレクトできます。例えば。:
ls -l $HOME | mailx -s "The content of my home directory" [email protected]
mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress
-cと-bはオプションです。
-s:件名を指定し、件名にスペースが含まれる場合は引用符を使用します。
-c:コンマで区切られたユーザーのリストにカーボンコピーを送信します。
-b:コンマで区切られたユーザーのリストにブラインドカーボンコピーを送信します。
私の答えがあなたの疑問を明確にすることを願っています。
echo "Sending emails ..."
NOW=$(date +"%F %H:%M")
echo $NOW " Running service" >> open_files.log
header=`echo "Service Restarting: " $NOW`
mail -s "$header" [email protected], \
[email protected], \ < open_files.log
住所からのカスタマイズ
MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="[email protected]"
FROM="DONOTREPLY"
echo $MESSAGE | mail -s "$SUBJECT" $TOADDR -- -f $FROM
2人以上またはDLを送信する場合
echo "Message Body" | mailx -s "Message Title" -r [email protected] [email protected],[email protected]
ここに:
これはいくつかの添付ファイルでメール送信に取り組むための多機能関数です。
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" "スペースで区切られた添付ファイルのリスト"
注:呼び出し内の二重引用符を削除してください
さらに、関数を使用する前に、Eメールの$ titulo(件名)と$ cuerpo(本文)を外部で定義することを忘れないでください