MUA 대신 MTA(sendmail)에 사용자 서명 추가

MUA 대신 MTA(sendmail)에 사용자 서명 추가

Outlook/Thunderbird 클라이언트와 Linux 서버가 있는 로컬 네트워크가 있는 상황에서 : 수신 메일을 일부 수정하여 보내는 메일에 보낸 사람의 서명을 추가하는 것이 sendmail가능합니까 ? sendmail's milter서버에서 서명을 중앙 집중화하는 것이 유용할 수 있습니다.

다음과 같이 진행하세요:

1) 이용자는 이메일을 작성하여 발송합니다. MUA는 나중에 대체되는 일부 "서명" 매직 텍스트, 즉 " x-replace-signature-x"를 설정하므로 사용자가 원하는 위치(인용 텍스트 아래 또는 응답 아래)에 해당 서명을 추가하도록 MUA를 구성해야 합니다.

2) 메일 도착 sendmail's MSP대기열

3) Sendmail"" 헤더에서 사용자 이름을 가져옵니다 From. 즉,[email protected]

4) 파일 시스템 (내장된 이미지가 포함될 수 있음) Sendmail에서 해당 사용자의 서명을 찾습니다 .html/var/lib/sendmail/signatures/user1.html

5) Milt는 " "를 찾아 x-replace-signature-x해당 줄을 다음으로 바꿉니다./var/lib/sendmail/signatures/user.html

6) sendmail's MTA메일을 보냅니다(저의 경우 스마트 호스트로).

나는 그러한 기능을 알지 못하기 때문에 정규식 일치를 위해 밀터를 사용할 생각입니다.

답변1

@thrig가 제안한 것처럼 MIMEDefang이 좋은 방법이며 많은 작업이 필요하지만 IMHO는 노력할 가치가 있습니다.

대부분의 filter_end()사람들은 다음 기능 중 하나를 사용합니다.

append_text_boilerplate($entity, $boilerplate, $all)  
append_html_boilerplate($entity, $boilerplate, $all)  

비록 이러한추가의교체하는 대신 텍스트를 사용하세요. 지정한 작업을 정확하게 수행하려면 filter_part()핸들러를 사용할 수 있습니다. 한 가지 방법은 action_external_filter()수정하려는 섹션을 호출하는 것입니다 (MIME 구성이 없는 첫 번째 text/plain 및 text/html 섹션은 일반적으로 좋은 선택입니다). 외부 명령을 통해 섹션을 필터링합니다. HTML에 이미지를 추가하려면 해당 이미지를 새 섹션으로 추가한 다음 CID를 통해 참조해야 합니다.

메시지를 수정하는 일반적인 방법은 전화를 거는 것입니다. 이것은 말 replace_entire_message()처럼 간단 하지 않습니다 filter_end(). 현재 메시지를 MIME::Entity로 복사하고, 본문의 일부를 수정하고, 전체 메시지 본문을 새 MIME::Entity로 바꿔야 합니다.

이렇게 하면 시작됩니다. https://stuff.mit.edu/~jik/software/mailman_mimedefang/

대안으로, 낮은 기술 솔루션은 즉각적인 전달 대신 sendmail 스풀(지연된 전달)을 사용하고 -odd대기열에 있는 df 파일을 수정하는 것입니다(때때로 일반 텍스트로 처리하면 작동할 수 있지만 철저하게 하려면 MIME으로 처리해야 함). qf/df 쌍은 새로운 작동 스풀( re-mqueue.pl아마도 있을 수 있음)에 연결됩니다.

관련 정보