이메일 클라이언트에서 프로그래밍 방식으로 사용자 정의 헤더를 추가 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/296603

문제

나는 스팸 방지 프로젝트를 진행하고있다 (Centmail)는 발신자가 사용자 정의 헤더를 추가하는 클라이언트 플러그인을 사용하도록하는 것과 관련이 있습니다 (서명뿐만 아니라 해당 부품 더 쉬운). 일반적인 문제는 각 메시지에 대해 헤더 필드의 내용이 동적으로 결정되는 나가는 메일에 이메일 헤더를 추가하는 것입니다.

놀랍게도, 이것은 소나무/알파인에서는 불가능한 것 같습니다. Pine을 사용하면 나가는 메일 용 필터 스크립트를 지정할 수 있지만 헤더가 아닌 본체 만 통과합니다. 물론 소나무 설정에서 사용자 정의 헤더를 정의 할 수 있지만 내용을 동적으로 변경할 수있는 방법은 없습니다.

다른 이메일 클라이언트 (Thunderbird, Outlook, Evolution, Mutt 등) 에서이 작업을 수행하는 방법을 듣게되어 감사합니다. 물론 내가 소나무에 대해 틀렸다면.

도움이 되었습니까?

해결책

당신은 그것을 할 수 있습니다 Eudora.

프로그래밍 방식으로 할 수 있습니다 전망에서 ~와 함께 사용자 정의 양식.

당신은 그것을 할 수 있습니다 About : Config.

다른 팁

가장 엄격한 의미의 플러그인은 아니지만 전자 메일을 수정하는 프록시 SMTP 서버 (예 : AVG 발신 전자 메일 스캐너와 같은 것을 만들 수 있습니다. 이것은 많은 이메일 클라이언트와 함께 일할 수있는 이점이 있습니다. 한쪽의 프록시와 다른 쪽의 이메일 UI와 통신하는 플러그인을 만들 수도 있습니다.

Thunderbird 플러그인 enigmail 나가는 메일의 헤더를 제어합니다. 그래서 그것은 Thunderbird에서 가능하다는 존재 증거입니다.

나는 piskvor에 동의합니다. 나는이를 프록시 SMTP 서버로 구현하여 여러 가지 이점을 얻을 것입니다.

  1. 당신은 하나의 이메일 클라이언트에게 제한되지 않으므로 API (있는 경우)에 의해 제한됩니다.
  2. 메일 서버 끝에 적용 할 수 있으므로 설치 및 배포 두통이 제거됩니다.

EMACS는이 작업을 프로그래밍 방식으로 수행 할 수 있습니다. 버퍼를 만들 수 있습니다 (get-buffer-create), 헤더 정보로 채우고 전화하십시오. mail-send 상호 작용하지 않음 (세트 mail-interactive 에게 nil).

버퍼 함량 (헤더+바디)의 예제 mail-send:

From: "Toto" <toto@toto.net>
To: somebody@somewhere.net
Subject: Something
BCC: sebastien.rocca-serra@f4-group.com
--text follows this line--

Hello, how are you?

후크를 추가하여 모든 발신 이메일 (헤더 + 바디)을 변경할 수도 있습니다. mail-send-hook.

이것은 이미 Thunderbird에 대해 구체적으로 묻습니다.

상단 답변에는 Plain XUL/JS에서 헤더를 수정하는 코드가 포함되어 있습니다.

나는 이것을 뇌 음악의 오래된 부분에서 다른 것들로 파헤 쳤다 ...

나는 그 접근 방식이 [bash/etc] 스크립팅을 통해 sendmail을 구성하고 수행하는 것이라고 생각합니다. 내가 올바르게 이해한다면.

루트 파일http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ewtoc.html

Sendmail 구성

헤더 선언http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/061-064.html#heading22

http://snap.nlc.dcccd.edu/reference/sysadmin/julian/ch04/078-080.html

헤더 라인의 형식은 H 라인으로 정의됩니다. 이 라인의 구문은입니다

H [c? c mflagsc?] c hnamec : c htemplate

이 사양의 연속선은 나가는 메시지에 직접 삽입됩니다. htemplate은 메시지에 삽입되기 전에 매크로 확장됩니다. 확장이 비어 있으면 헤더 라인이 포함되어 있지 않습니다. MFLAG (물음표로 둘러싸인)가 지정된 경우,이 헤더가 자동으로 출력 할 수 있도록 메일러 정의에 지정된 플래그 중 하나를 명시해야합니다. 이 헤더 중 하나가 입력에 있으면이 플래그에 관계없이 출력으로 향합니다.

특수 헤더 라인 여러 헤더 라인에는 구성 파일에 의해 정의 된 특수 해석이 있습니다. 다른 사람들은 코드를 변경하지 않고는 변경할 수없는 Sendmail에 내장 된 해석이 있습니다. 내장 기능은 다음 목록에 설명되어 있습니다.

• Return-Receipt-to :이 헤더가 전송되면 최종 배송이 완료되면 지정된 이름으로 메시지가 전송됩니다. 메일러는 메일러 디스크립터에 L 플래그 (로컬 배송)를 설정해야합니다. • 오류 : 처리 중에 오류가 발생하면이 헤더는 오류 메시지를 발신자가 아닌 나열된 이름으로 보냅니다. 메일 목록 에이 헤더 라인을 사용하여 오류가 목록 관리자에게 반환됩니다. • to : 메시지에 메시지에 메시지에 나열된 수신자가없는 경우 (A to :, CC :, 또는 BCC : Line) SendMail은 SendMail 명령 줄에 지정된 각 수신자의 헤더 라인에 명백하게 추가됩니다.

Pine이 오픈 소스 이므로이 기능 이이 프로그램에 중요하다면 프로젝트에 기여하여 기능을 추가 할 수 있습니다.

당신이보고 싶은 한 가지는 헤더 대신 의사 헤더를 사용하는 것입니다. Pine/Alpine을 사용하면 이메일을 통과 할 필터 프로그램을 지정할 수 있으므로 처음에 본체에 헤더를 추가 할 수 있습니다. 어떤 유형의 시스템을 정리하고 있는지 모르기 때문에 그것이 당신의 목적에 정확히 맞는지 확실하지 않습니다.

나는 의사에서 사용하여 의사 헤더에 대해 배웠습니다 데비안 BTS 시스템.

질문에 대답하면 Gmail을 사용하고 헤더를 프로그래밍 방식으로 편집 할 수 없습니다 (웹 메일을 보는 데 관심이 있습니다). 너 조차도 할 수 없습니다 X-List와 같은 사용자 정의 헤더에서 필터링하면 상당히 성가시다.

커스텀 헤더를 위해 메일 클라이언트를 연결하는 일반적인 아이디어에는 문제가 있습니다.

많은 고객이 있습니다. 다른 시스템에 다른 버전을 포함합니다.

Header+Body 형식의 좋은 점은 모든 비 사용자, 서버 및 라우팅 특정 데이터가 사용자로부터 숨겨져 있다는 것입니다. 그리고 그 아이디어는 따라야합니다. 사용자가 사용자 정의 서버 관련 헤더로 귀찮게해야한다고 생각하지 않습니다.

또한 추가하려는 데이터는 실제로 사용자 별 데이터입니다. 서명처럼. 발신자의 유효성을 확인합니다. 사용자로부터 숨길 이유가 없습니다.

전자 메일 데이터의 서명은 PGP, Smime 등이 사용하는 잘 알려진 프로세스입니다. 아마도 사용자 정의 메일 헤더를 추가하거나 수정하는 것보다 이러한 작업 (외부 프로그램에 의해 확인 및 서명)을 허용하는 더 많은 메일 클라이언트가있을 수 있습니다.

사용자 정의 헤더는 메일 서버에 의해 수정되어야합니다. 메일 클라이언트의 사용자 데이터.

나는 당신이 당신의 데이터를 메시지 나 메시지 부분에 넣었다고 생각합니다.

소나무 자체를 수정하거나 메일 서버를 수정하지 않고 소나무에서 작동하도록하는 한 가지 방법은 명령 줄 프로그램 (전통적으로/usr/sbin/sendmail 등)을 통해 소나무를 전달하고 원본의 래퍼가되도록하는 것입니다. 프로그램. 그런 다음 필요한 헤더를 추가 할 수 있습니다.

그것은 추악하지만, 그것은 전체 사용자 기반에 대해서는 확실히 확장되지 않을 것입니다.

외부 편집기를 사용하여 지원하는 모든 메일 클라이언트의 경우 편집기에 보내는 템플릿에 특정 헤더를 추가하는 스크립트가있을 수 있습니다. ~ 안에 바보, 호출 된 구성 매개 변수가 있습니다 edit_headers 공통 헤더 세트를 추가하여 자신의 추가가 쉽게 추가 할 수 있습니다. 다른 매개 변수도 호출됩니다 my_hdr 사용될 수 있습니다. Mutt는 외부 명령을 실행하기위한`백 틱` '표기법을 지원합니다.

자신의 템플릿을 지정할 수있는 것이 좋습니다. 그러나 아직 불가능합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top