2009-04-16 1 views
5

후위 이메일 서버가 있는데 디버깅 할 문제가 있습니다. 전자 메일을받는 사람에게 전자 메일을 보내는 것 외에도 모든 전자 메일의 복사본을 전자 메일로 보내려면 어떻게 구성해야합니까?후위 : 주어진 이메일 주소로 모든 이메일 사본을 보내십시오.

접미사와 사이러스의 IMAP에 보낸 폴더로 나가는 모든 메일 보내기 : 내가 공유 할 거라고 생각 때문에

+0

http://serverfault.com/questions/407302/how-can-i-configure-postfix-to-retain-copies-of-all-email-sent-through-it에는 기능을 사용하면서 훨씬 더 좋은 대답이 있습니다. 후위에 의해 제공됩니다. –

답변

8

나는 최근에이 작업을 얻었다.

요약

만들기 후위는 메일 계정 "전송"특별한에 보내는 모든 이메일의 숨은 사본을 보낼 수 있습니다. 이 특별한 계정의 sieve를 사용하여 모든 이메일을 과 연결된 계정으로 보낸 메일 함으로 리디렉션하십시오.

  1. 이 작업을 수행하는 전송

    가장 쉬운 방법에 대한 이메일 사용자 계정을 만들기 가 할 수있는에서 사람을 방지하기 위해/빈/false로 쉘을 설정, 전송을위한 새로운 유닉스 계정을 만드는 것입니다

    host$ sudo useradd sent 
    host$ sudo chsh -s /bin/false sent 
    
  2. 이 cyradm을 사용하여 전송 된 사용자

    에 대한 IMAP을 설정 우리가 NE를 만듭니다에 로그

    host$ $ cyradm -user cyrus localhost 
    Password: <enter you cyrus user admin password here> 
    localhost> createmailbox user.sent 
    localhost> setaclmailbox user.%.Sent sent append 
    Setting ACL on user.userx.Sent...OK. 
    Setting ACL on user.usery.Sent...OK. 
    . . . 
    Setting ACL on user.userz.Sent...OK. 
    localhost> exit 
    
  3. 는이 스크립트는 모든 수신 메일을 리디렉션합니다

    보낸 계정 체 스크립트를 작성 : 사서함 승 (즉, 사용자) 및 해당 사용자가 우리의 IMAP "전송"의 모든 액세스 폴더를 추가 제공 보낸 사람 계정의 보낸 폴더로 이동합니다.

    내 스크립트 sent.sieve라는이 같은 모양입니다 : 당신은 당신의 각 사용자에 대한 항목에 넣어해야합니다

    # Sieve script for sent. If outgoing email is bcc'ed to this account, 
    # this sieve script will redirect it to the sender's Sent folder 
    require ["fileinto"]; 
    
    if address :is :localpart "From" "userx" { 
        fileinto "user.userx.Sent"; 
    } 
    elsif address :is :localpart "From" "usery" { 
        fileinto "user.usery.Sent"; 
    } 
    elsif address :is :localpart "From" "userz" { 
        fileinto "user.userz.Sent"; 
    } 
    

    을 (userx, usery, 예에서 userz 위). 나는 이것을 할 수있는 더 좋은 방법을 찾기 위해 을 찾을 수 없었다. 제안이 같은 체 스크립트를 설치 [email protected]

    에 환영 :

  4. 이 (후위 디렉토리에서 후위

    의 숨은 매핑을 설정

    host$ sieveshell localhost -user=sent -a=cyrus 
    Password: <enter you cyrus user admin password here> 
    > put sent.sieve 
    > activate sent.sieve 
    > quit 
    
  5. 을/etc/후위에를

    # copy all locally sent mail to the sent account 
    @yourdomain.com  [email protected] 
    

    는 후위 해시에이 컴파일 : 데비안)은 다음과 같습니다 bcc_map라는 파일을 생성 사용하는 파일 :

    host$ sudo postmap bcc_map 
    

    다음 줄을 postfix main에 추가하십시오.CF 구성 파일 :

    sender_bcc_maps = hash:/etc/postfix/bcc_map 
    

    그리고 접미사가 구성 다시로드합니다

    일부 이메일 보내기

  6. 테스트 및 디버그를 다시로드 /etc/init.d/postfix

    호스트 $ sudo를하고 보낸 편지함 폴더로 복사되었는지 확인하십시오.

    문제가 발생한 경우 cyrus 및 postfix 로그 (모두 내 debian 호스트의 /var/log/syslog에 기록됨)을 확인해야합니다. 오타 및 올바르지 않은 액세스 권한은 일반적으로 로그로 보내지는 단서가됩니다.

2

[email protected]을 /etc/postfix/main.cf에 추가하고 postfix 서버를 다시 시작하십시오. 이 줄을 맨 아래쪽에 추가했습니다.

실제로 작동하는 것 같습니다. always_bcc에 대한 추가 정보 here

이 파일을 먼저 백업하는 것을 잊지 마십시오.