접미사: 이메일 본문 추가/수정

접미사: 이메일 본문 추가/수정

내 로컬 네트워크에 postfix 메일 서버를 설정했습니다.소인스마트호스트로서. 이것은 실제로 잘 작동합니다. 하지만 내 Canon 프린터/복사기는 메일 본문 없이 첨부 파일만 첨부하여 메일을 보냅니다.

소인 측에 오류가 발생합니다.ErrorCode: '300', Message: 'Provide either email TextBody or HtmlBody or both.'.

따라서 스마트호스트에 전달하기 전에 메일에 TextBody가 누락된 경우 추가하도록 접미사에 규칙을 추가하고 싶습니다. 어떤 아이디어가 있나요?

답변1

특정 발신/수신 쌍의 일부 이메일에 대해 소인과 동일한 문제가 발생했습니다. postfix 메일 서버를 사용하여 altermime의 고지 사항 기능을 사용하여 제목 줄을 본문에 복사하고 일부 "if" 논리를 적용하여 이메일이 지정된 주소와 주고받을 때만 altermime이 실행되도록 했습니다.

Altimime을 설정하는 방법에 대한 많은 기사가 있으며 다음은 그 중 하나입니다. https://www.howtoforge.com/how-to-automatically-add-a-disclaimer-to-outgoing-emails-with-altermime-postfix-on-debian-squeeze

위의 기사는 Debian을 위한 것이지만 RedHat 파생 제품에서도 주로 작동합니다. dnf(또는 yum)와 EPEL 저장소를 사용하여 프로그램 자체를 설치해야 합니다.

고지 사항과 같이 정적 본문만 원하는 경우 모든 이메일에 텍스트를 적용하지 않으려면 일부 논리를 적용하는 것 외에는 할 수 있는 일이 없습니다.

제목 줄을 본문에 추가하려는 경우 여기서의 요령은 제목 줄을 임시 파일로 출력한 다음 해당 파일을 스크립트의 고지 사항 파일로 사용하는 것입니다.

이와 같이:

제목 줄을 잡고 임시 파일로 출력합니다.

subject=`grep -m 1 "Subject:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1 | cut -d " " -f 2-`
echo -e "\r\n$subject\r\n" >sub.$$

그런 다음 스크립트에 파일 이름이 필요한 경우 sub.$$를 사용하십시오. 예:

/usr/bin/altermime --input=in.$$ \
                   --disclaimer=sub.$$ \
                   --disclaimer-html=sub.$$ \
                   --xheader="X-SpecialContent-Header: TextAdded" || \
                     { echo Message content rejected; exit $EX_UNAVAILABLE; }

마지막으로 임시 파일을 제거하는 것을 잊지 마세요. 스크립트 상단에 입력 파일을 제거하는 줄이 있습니다. 해당 줄을 확장하여 sub.$$ 파일을 제거하세요.

trap "rm -f in.$$ sub.$$" 0 1 2 3 15

관련 정보