저는 회사를 위한 이메일을 작성하기 위해 Scrivener를 사용하고 있습니다. 그런 다음 "컴파일" 기능을 사용하여 HTML로 내보냅니다.
spam-assassin을 사용하여 여러 HTML 이메일이 포함된 폴더를 로컬에서 테스트하는 방법이 있는지 궁금합니다.
이메일의 제목과 내용을 테스트하고 싶습니다. 그래서 아무데도 이메일을 보내고 싶지 않습니다. 또한 html 파일에는 이메일 헤더가 없습니다.
어떤 제안이라도 감사하겠습니다.
답변1
일부 SpamAssassin 테스트는 메시지 헤더를 사용하므로 필수입니다. 최소한 결과가 없으면 결과의 정확성이 떨어집니다.
가장 쉬운 방법은 이메일을 HTML 문서로 채우는 것입니다. 이는 간단한 쉘 스크립트를 사용하여 쉽게 수행할 수 있습니다. 이 예와 다음 예에서는 flip
이메일로 변환하기 위해 CRLF 줄 끝(설치해야 할 수도 있음)을 사용합니다. 나는 당신도 그것을 사용할 수 있다고 생각합니다 sed
. 아니면 그것 없이도 괜찮을 수도 있습니다.
cat <<HEADER - in/message.html | flip -m > out/message.eml
From: "Your Company Name" <[email protected]>
To: "Your Name" <[email protected]>
Date: $(date -R)
Content-type: text/html; charset=utf-8
Content-transfer-encoding: binary
Subject: Your Subject Here
HEADER
단점은 MIME이 아닌 HTML 메시지만 남게 된다는 것입니다. 메시지를 일반 HTML로 남겨두는 SpamAssassin 규칙을 비활성화해야 할 수도 있습니다.
또 다른 옵션은 이 mime-construct
유틸리티인데, 이 유틸리티도 설치해야 할 수 있습니다. 그러면 다음과 같이 할 수 있습니다:
mime-construct --to '"Your Name" <[email protected]>' \
--subject "Your Subject Here" \
--header 'From: "Your Company Name" <[email protected]>' \
--header "Date: $(date -R)" \
--multipart 'multipart/alternative' --output \
--type 'text/plain; charset=utf-8' --file in/message.txt \
--type 'text/html; charset=utf-8' --file in/message.html \
| flip -m - > out/message.eml
lynx -dump
다음을 사용하여 텍스트 전용 대안(예 lynx -dump in/message.html > in/message.txt
: ) 을 만들 수 있습니다 .
그러면 SpamAssassin을 통해 결과 파일을 이메일 메시지로 실행할 수 있습니다.
다른 이메일 모범 사례(확인된 수신 동의, 간편한 구독 등)를 따라야 한다는 것은 말할 필요도 없습니다.