태그 보관물: exim

exim

Exim : 로컬 네트워크 외부로 메일을 보낼 때 보낸 사람 주소 변경 메일을 보냅니다. 이로 인해 메일은 myapp@myserver.mydomain

사용자는 메일을 보내고받을 수있는 사이트에 exim 설정이 작동합니다. 이메일을 사용하여 로컬 네트워크 외부의 주소로 경고 및 오류를 보내도록 서버를 설정하려고합니다.

문제는:

메일을 보내는 프로그램은 메일을 실행하는 사용자 이름과 서버의 로컬 호스트 이름을 사용하여 메일을 보냅니다. 이로 인해 메일은 myapp@myserver.mydomain 형식의 발신자가됩니다. Exim은 이러한 메일을 ISP의 SMTP 서버로 전송합니다.이 메일은 불법이거나 확인할 수없는 발신자 (내부 주소)가있는 메일을 거부합니다.

다음과 같은 경우 발신자를 다시 쓰도록 exim을 구성해야한다고 생각합니다.

  • 발신자의 도메인이 로컬 네트워크에 있습니다.
  • 수신자의 도메인이 로컬 네트워크 외부에 있음

exim 구성에서 일종의 다시 쓰기 설정을 시도했지만 제대로 작동하지 않았습니다. 나는 내가 시도한 것을 보여 주었지만, 마지막으로 사이트를 방문했을 때 시간이 부족하여 시도한 모든 변경 사항을 잃어 버린 원래 버전으로 되돌려 야했습니다.



답변

begin rewrite
myapp@myserver.mydomain   legal.user@myserver.mydomain   SFfrs

플래그는 다음과 같은 의미를 갖습니다.

  1. S-SMTP 시간에 모두 다시 작성합니다. 이는 다음에 오는 모든 플래그가 적용되는 데이터가 들어 오면 즉시 완료되고 나중에 지연되지 않음을 의미합니다.
  2. F-봉투를 필드에서 다시 씁니다.
  3. f-From : 헤더 필드를 다시 작성하십시오.
  4. r-답장 : 헤더 필드를 다시 작성하십시오.
  5. s-Sender-To : 헤더 필드를 다시 작성하십시오.

메시지 재 작성에 대한 자세한 내용은 Exim 사양의 31 장을 읽으십시오.


답변

파일 /etc/email-addresses이 문제를 처리해야합니다. 이것은 Exim 배포판의 표준 부분입니다. 이메일을 보내는 각 로컬 사용자마다 하나의 레코드를 구성해야합니다.

/etc/email-addresses좋아 하는 줄을보십시오 :

 myapp:   donotreply@example.com

MX 서버에서 다음과 같은 별칭을 추가하십시오.

 donotreply:    :blackhole:

Reply-to:수신자가 메시지에 회신 할 수 있도록 헤더를 사용하십시오 .

파일 /etc/email-addresses은 다음 재 작성 코드로 사용 rewrite되며 구성 파일 섹션의 시작 부분에 있어야합니다.

*@+local_domains "${lookup{${local_part}}lsearch{/etc/email-addresses}\
                  {$value}fail}" Ffrs


답변

/etc/email-addresses사용자 이름 당 하나의 이메일 주소 만 연결하면됩니다 . 그러나 사용자가 여러 주소로 이메일을 보내야하는 경우 /etc/email-addresses매번 수정해야 하며 잘못된 주소를 사용해야합니다.

다른 방법은 exim4명령과 해당 -f옵션을 사용하여 이메일을 보내는 것입니다.

$ cat email|/usr/sbin/exim4 -f myapp@example.com recipient@example.com

참고 즉, 위해 할 -f작업에 대한 옵션, 당신도 사용자가 수출입의 신뢰할 수있는 사용자의 수 또는 허용 된 신뢰할 수없는 보낸 사람으로 그를 받아 수출입 할 필요가있다.

필자의 경우 다음과 같은 와일드 카드 덕분에 후자가 기본값이었습니다 /etc/exim4/conf.d/main/02_exim4-config_options .

untrusted_set_sender = *

다른 해결책은 다음 줄을 추가하는 것입니다 /etc/exim4/conf.d/main/00_local_settings(exim의 분할 구성을 가정하고 아직 존재하지 않는 경우 작성).

MAIN_TRUSTED_USERS = yourusername

두 옵션 모두 exim 구성을 다시로드해야합니다. 데비안에서 :

# dpkg-reconfigure exim4-config


답변