UNIX mailx
コマンドを使用して電子メールを送信するにはどうすればよいですか?
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
uuencode
これは過去のミレニアムのレガシーテクノロジーであり、現在の「添付ファイル」が意味するものを生み出していないことに注意してください。基本的には、機械で読み取り可能なごちゃごちゃした部分をメッセージテキストの最後に配置します。この時代では、適切にMIME対応のメーラーを使用するほうがよいでしょう。残念ながら、mailx
MIME機能で普遍的にサポートされている代替はありませんが、がある場合mutt
、それはおそらく最も抵抗の少ない経路です。
はい、どうぞ :
echo "Body" | mailx -r "FROM_EMAIL" -s "SUBJECT" "To_EMAIL"
PS。本文と件名は二重引用符で囲む必要があります。電子メールアドレスの置換中FROM_EMAIL
およびTo_EMAIL
置換中に引用符を削除します。
mailx -s "subjec_of_mail" abc@domail.com < 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 cc_mail@g.com to_mail@g.com -y
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
FROMアドレスのカスタマイズ
MESSAGE="SOME MESSAGE"
SUBJECT="SOME SUBJECT"
TOADDR="u@u.com"
FROM="DONOTREPLY"
echo $MESSAGE | mail -s "$SUBJECT" $TOADDR -- -f $FROM
mail
およびmailx
コマンドがあります。
以下は、複数の添付ファイルを使用したメール送信に取り組むための多機能機能です。
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" "list of attachments attachted by space"
注:呼び出しで二重引用符を削除してください
さらに、関数を使用する前に、メールの$ titulo(件名)と$ cuerpo(本文)を外部で定義することを忘れないでください。
2人以上またはDLを送信する場合:
echo "Message Body" | mailx -s "Message Title" -r sender@someone.com receiver1@someone.com,receiver_dl@.com
ここに: