HTML 본문과 첨부 파일이 포함된 이메일을 보낼 수 없습니다.

HTML 본문과 첨부 파일이 포함된 이메일을 보낼 수 없습니다.

첨부파일이 포함된 html 본문이 포함된 이메일을 보낼 수 없습니다. 명령1:

echo "<html><b>Hello</b></html>" | mail -s "Subject #1" -a "content-type: text/html" [email protected]

명령2:

echo "<html><b>Hello</b></html>" | mail -s "Subject #2" -a "content-type: text/html" [email protected] -A "/Users/asdf/Downloads/00000001.pdf" 

Command1은 잘 작동합니다. 본문이 html인 이메일이 보입니다.

두 번째 명령에서는 본문이 html 형식이 아닙니다.

여기에 뭔가 빠진 것이 있으면 알려주십시오.

답변1

어떤 메일 도구를 사용하고 있는지(그리고 어떤 버전인지)는 모르지만 GNU mailutils라면 아마도 다음 버그에 직면했을 것입니다.https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918806#22 해결 방법은 명령줄 옵션 -M(또는 --mime)을 사용하여 MIME 메시지를 작성하는 것입니다.

답변2

첨부 파일은 항상 다중 부분 MIME 메시지를 사용하여 전송되므로 루트 콘텐츠 유형은다중 부분 구조 자체, 그리고 각 부분에는그 자체의내부의 Content-Type 헤더. Content-Type: multipart/related해당 메시지의 소스를 살펴봐야 합니다 .

AFAIK, mailutils나 mailx에는 본문 부분의 Content-Type을 별도로 변경할 수 있는 옵션이 없습니다.

답변3

현재 버전의 GNU Mailutils에서는 mailx다음을 사용하여 이를 수행할 수 있습니다:

echo "<html><b>Hello</b></html>" | mailx --content-type="application/pdf" --attach=/Users/asdf/Downloads/00000001.pdf --content-type="text/html" --subject="Subject #2" [email protected]

이는 다음 --content-type을 참조하는 위치 옵션입니다.모두다음 첨부 파일(두 개 이상인 경우)과 지정된 마지막 값이 메시지 본문에도 사용됩니다(이것이 마지막에 다시 변경되는 이유입니다).

관련 정보