멀티 파트 이메일 생성 및 Linux로 전송 text/html” test@example.com < message.html 이메일 업데이트를 HTML 형식으로

우리는 이메일을 보내기 위해 mutt를 사용합니다.

mutt -s "Test" -e "Content-Type: text/html" test@example.com < message.html

이메일 업데이트를 HTML 형식으로 보냅니다. 텍스트 버전과 HTML 버전이 모두 포함 된 전자 메일을 여러 부분으로 보내려고합니다.

  1. 전자 메일 제목과 전자 메일 본문의 HTML 및 텍스트 버전이 제공 될 때 Linux에서 이러한 멀티 파트 메시지를 작성하는 방법은 무엇입니까?
  2. 리눅스 프롬프트에서 mutt를 사용하여 1 단계에서 생성 된 멀티 파트 이메일을 보낼 수 있습니까?

환경 : RedHat Enterprise Linux 5, 뮤트



답변

전자 메일 제목과 전자 메일 본문의 HTML 및 텍스트 버전이 제공 될 때 Linux에서 이러한 멀티 파트 메시지를 작성하는 방법은 무엇입니까?

RFC 2046에multipart/alternative 설명 된 대로 유형의 메시지를 작성하십시오 .

보낸 사람 : Example Company <news@example.com>
받는 사람 : Joe User <joe.u@example.net>
날짜 : 2011 년 5 월 21 일 토요일 17:40:11 +0300
제목 : 멀티 파트 메시지 예
MIME 버전 : 1.0
콘텐츠 유형 : multipart / alternative; 경계 = asdfghjkl

--asdfghjkl
내용 유형 : 텍스트 / 일반; 문자 집합 = UTF-8

여러분 안녕하세요!

--asdfghjkl
내용 유형 : text / html; 문자 집합 = UTF-8

<! DOCTYPE html>
<본체>
<p> 안녕하세요! </ p>
</ body>

--asdfghjkl--

정확한 구문 은 RFC 2046RFC 5322 를 참조하십시오 .

리눅스 프롬프트에서 mutt를 사용하여 1 단계에서 생성 된 멀티 파트 이메일을 보낼 수 있습니까?

올바른 Content-Type 헤더를 설정하는 방법을 찾으면 (이 예제에서는을 사용 -e하고 있지만 mutt는 -e다른 목적으로 사용 합니다. -e "my_hdr Content-Type: ..."원본 텍스트 / 일반 헤더는 그대로 둡니다.)

를 통해 생성 된 메일을 직접 보내는 것이 좋습니다 sendmail. 헤더를 직접 작성해야합니다. 예제를 참조하십시오. strftime("%a, %d %b %Y %T %z")날짜에 사용 하고 경계에 임의의 영숫자 문자열을 사용하십시오. 그런 다음 헤더를 포함하여 준비된 메시지를 다음으로 파이프하십시오 sendmail -i -t.

sendmail -i -t < above-example.txt

(이 -t옵션은 “받는 사람 : 행 에서받는 사람 가져 오기”를 의미 하며을 사용할 수도 있습니다 sendmail -i joe.u@example.net)


답변

https://github.com/shivylp/mailprod를 살펴보십시오 . 큰 메일에 명령 행을 사용하는 것이 신뢰할 수있는 옵션이 아니기 때문에이 작은 Python 유틸리티 / 라이브러리를 개발했습니다. mailprodcli를 사용하면 말하는 것처럼 간단합니다 mailprodcli template.xml --send. 이미지를 포함하는 template.xml 예제는 다음과 같이 간단합니다.

<?xml version="1.0" encoding="UTF-8"?>
<mail>
  <from>sender@source.com</from>
  <to>recipient1@destination1.com</to>
  <to>recipient2@destination2.com</to>
  <body type="text/html">
    <![CDATA[<html>
<b>Neat!</b><br><center><img src="cid:sample"></center>
</html>]]>
  </body>
  <body type="image" src="sample.png" id="sample" />
</mail>