IT story

UNIX mailx 명령을 통해 어떻게 이메일을 보낼 수 있습니까?

hot-time 2020. 9. 9. 20:14
반응형

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

여기 있어요 :

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유틸리티 우리는에서 파일을 보낼 수 있습니다 unixmail server. 위 코드에서 첫 번째 매개 변수는 -s "subject of mail"두 번째 매개 변수이고 mail ID마지막 매개 변수는 우리가 첨부하려는 파일의 이름입니다.


mail [-s subject] [-c ccaddress] [-b bccaddress] toaddress

-c 및 -b는 선택 사항입니다.

-s : 제목을 지정하고 제목에 공백이 있으면 따옴표를 사용합니다.

-c : 쉼표로 구분 된 사용자 목록에 참조를 보냅니다.

-b : 쉼표로 구분 된 사용자 목록에 숨은 참조를 보냅니다.

내 대답이 당신의 의심을 명확히하기를 바랍니다.


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
  1. -c 이메일 참조 목록
  2. -s 주제 목록
  3. -y 메일 보내기

man 페이지에서 :

메일 보내기

한 명 이상의 사람에게 메시지를 보내려면 메일을 보낼 사람의 이름 인 인수를 사용하여 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" "공백으로 구분 된 첨부 파일 목록"

참고 : 호출에서 큰 따옴표를 제거하십시오.

In addition please remember to define externally the $titulo (subject) and $cuerpo (body) of the email prior to using the function


If you want to send more than two person or DL :

echo "Message Body" | mailx -s "Message Title" -r sender@someone.com receiver1@someone.com,receiver_dl@.com

here:

  • -s = subject or mail title
  • -r = sender mail or DL

참고URL : https://stackoverflow.com/questions/2282506/how-can-i-send-an-email-through-the-unix-mailx-command

반응형