.forward 세부 정보를 유지하기 위해 sendmail을 얻는 방법은 무엇입니까?

.forward 세부 정보를 유지하기 위해 sendmail을 얻는 방법은 무엇입니까?

일반 sendmail 설치가 있습니다. 한 사용자는 .forward다음과 같은 사용자를 가지고 있습니다.

# cat ~elrond/.forward
elrond@somewhere
# sendmail -bv elrond+extra@localhost
elrond@somewhere...  deliverable: mailer esmtp, host somewhere., user elrond@somewhere

+extra누락되었으니 참고하세요 .

+extra이를 유지 하려면 무엇을 변경해야 합니까 ? 일반적인 %3해시맵은 .forward.

답변1

노력하다FEATURE(preserve_local_plus_detail)파일 에 넣은 .mc다음 을 다시 작성하면 .cf규칙 세트 5( localaddr)가 수정됩니다. 부작용이 발생할 수 있습니다(예: 로컬 메일 프로그램이 +verbose를 지원하지 않는 경우).

이것이 별칭 조회에 부정적인 영향을 미치는 경우 아마도 _FFR_ALIAS_DETAIL이것은 빌드 시간(즉, 아님 .cf) 옵션일 수 있지만 테스트했다고 말할 수는 없습니다. 권장하지 않습니다. ;-)

실패하면 사용자 제어 파일만으로 요청한 작업을 수행할 수 있는 유일한 방법은 포함된 .forward포함 구성 요소의 경로를 확인하는 것입니다 . 8.12 이상부터는 이것이 기본값이어야 합니다:confFORWARD_PATH$h

O ForwardPath=$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward

~/.forward.extra이를 통해 사용자는 이메일이 "사용자+추가" 주소로 이동하는 컨트롤을 만들 수 있습니다 .

$ sendmail -v -d27.2  -bv elrond+foo 
alias(elrond+foo)
alias(elrond+*)
alias(elrond)
alias(elrond)
forward(elrond+foo)
include(/home/elrond/.forward.thishost+foo)
include(/home/elrond/.forward+foo)
include(/home/elrond/.forward.thishost)
include(/home/elrond/.forward)
elrond+foo... deliverable: mailer local, host foo, user elrond

(함수가 파일 전달을 처리하는 것을 볼 수 있습니다 include(). 파일을 읽을 때 확장 개념이 없습니다.)

FEATURE(virtusertable)아마도 더 나은 접근 방식이 다른 곳에서 제안된 것처럼, 스크립팅 유형이라면 ~/.xforward주기적으로 사용자 파일을 수집하고 기본 더미 사용자 테이블을 구축할 수 있습니다.

답변2

sendmail에 대한 로컬 메일 프로그램으로 procmail을 사용하고 있습니다. [ FEATURE(local_procmail)]
=> $1이 세부 정보 부분을 보유하고 있는 ~elrond/.procmailrc에서 메시지를 리디렉션/전달할 수 있습니다.

죄송합니다. 제 procmail 지식은 1달러짜리 건전성 검사와 같은 신뢰할 수 있는 방법을 제공하기에는 충분하지 않습니다.

경고하다:elrond+1과 elrond+2로 전송된 메시지는 두 개의 별도 메시지로 procmail에 전달됩니다.

답변3

사용자가 (비둘기장) 체를 사용할 수 있도록 허용하는 것을 고려해 보셨나요?

redirect대신 다음 예제를 사용할 수 있는 것 같습니다 .fileinto http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples#Plus_Addressed_mail_filtering

관련 정보