2

나는 현재 스크립트에서 html formated 메일을 보내기 위해 mailx를 사용하고있다.

cat body.html | /usr/bin/mailx -a "From: Me <me@domain>" -a "Content-type: text/html" -s "My subject" $RECIPIENTS

이제 첨부 파일 (PNG 이미지)을 추가하고 싶습니다. 그러나 어떻게 그럴 수 있는지 알 수 없습니다. mutt 또는 다른 것으로 이동하기 전에 mailx로 시도하고 싶습니다. 고마워.


  • 봐라.이리 - Dinesh
  • @Dinesh 그건 좋은 답변이 아닙니다. HTML과 uuencode는 완벽한 조합이 아닙니다. - tripleee

2 답변


1

요구 사항이 단순하다면, 베어 메드 Sendmail을 사용할 수 있습니다. 제가 특별히 권하는 것은 아니지만 여러분이 피해야 할 것이기 때문에mutt...

#Now that we actually concatenate two files (well, stdin and a file),
#we are no longer eligible for a Useless Use of Cat Award
( cat - body.html <<HERE
Subject: My subject
Mime-Version: 1.0
Content-type: multipart/related; boundary="foooobar"

--foooobar
Content-type: text/html

HERE

cat <<HERE

--foooobar
Content-type: image/png
Content-disposition: inline
Content-transfer-encoding: base64

HERE

base64 image.png

echo; echo '--foooobar--' ) | sendmail -oi $RECIPIENTS

나는 이것을위한 단순하고 표준적인 유틸리티가 있었으면 좋겠다. 그러나 슬프게도 대신에 많은 것들이 서로 상반되거나 호환되지 않고 어둡다. 다시 말하지만mutt, 아마도 가장 널리 지원되고 표준 도구 일 것입니다.


  • 그러나 센드 메일을 사용할 때 (그리고 이것은 다른 문제입니다) 감사의 삼중주는 메일이 (gmail)받는 사람 상자에있는 쓰레기로 들어갑니다. - user2683188
  • 콘텐츠를 전송하는 데 사용 된 프로그램이 아니라 콘텐츠의 기능 일 가능성이 높습니다. - tripleee

1

이 시도:

uuncode input_file2.jpg attachment2.jpg >>tempfile
cat tempfile | mailx -s "subject" <email>

Uuencode는 파일 (또는 기본적으로 표준 입력)을 읽고 인코딩 된 버전을 표준 출력에 씁니다. 인코딩은 인쇄 ASCII 문자 만 사용하며 파일 모드와 uudecode에서 사용할 피연산자 이름을 포함합니다. name이 / dev / stdout이면 결과는 표준 출력에 기록됩니다. 기본적으로 표준 UU 인코딩 형식이 사용됩니다. -m 옵션이 명령 행에 주어지면 base64 인코딩이 대신 사용됩니다.


  • 코드는 만족 스럽지만 항상 설명이 있어야합니다. 오래 걸리지는 않지만 예상됩니다. - peterh
  • 덧글에 언급 된 명령은 실행되기 전에 쉽게 확인할 수 있습니다. 요청하는 사용자가 이미 mailx를 사용하고 "cat"을 알고 있으므로 더 이상 설명 할 필요가 없습니다. 유니 코드는 쉽게 유인 될 수있다. - Ron
  • 이게 더 좋은가요? - Ron

연결된 질문


관련된 질문

최근 질문