Dovecot: 이메일 클라이언트 및 중복된 폴더

Dovecot: 이메일 클라이언트 및 중복된 폴더

그래서 내 서버에서는 일반적으로 문제에 직면합니다. 다른 이메일 클라이언트는 Sent및 같은 특수 폴더를 호출하고 Trash다른 이름을 사용 합니다 Sent Items.Deleted Items

제 질문은 어떤 방식으로든 모든 이름을 "별칭"으로 지정하고 내부적으로 Sent서버의 동일한 폴더에 매핑할 수 있느냐는 것입니다.

dovecot.conf다음과 같은 포함 섹션을 변경했습니다 .

mailbox Sent {
    special_use = \Sent
    auto=subscribe
}

mailbox "Sent Messages" {
    special_use = \Sent
}

mailbox "Sent Items" {
    special_use = \Sent
}

이것이 이 성가신 문제를 "수정"하는 올바른 방법입니까? 작동하는 것 같습니다. 적어도 서버에는 실제로 중복이 없지만 일부 이메일 클라이언트는 중복된 모든 폴더를 선택할 수 있습니다.

감사합니다.

답변1

당신은 사용할 수 있습니다사서함 별칭 플러그인둘 이상의 이름을 가진 하나의 디렉토리를 제공하기 위해 파일 시스템 수준에서 심볼릭 링크를 생성하는 Dovecot 2.1.10+가 필요합니다. 두 디렉터리의 내용은 동일합니다.

예시 구성전송된그리고쓰레기별칭 "보낸 편지함" 및 "삭제된 편지함"에 대한 실제 사서함은 다음과 같습니다.

mail_plugins = $mail_plugins mailbox_alias
plugin {
  mailbox_alias_old = Trash
  mailbox_alias_new = Deleted Items
  mailbox_alias_old2 = Sent
  mailbox_alias_new2 = Sent Items
}

사서함을 만드는 것을 잊지 마세요:

namespace inbox {
  mailbox Sent {
    auto = create # or subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = create
    special_use = \Trash
  }
}

또 다른 가능성은 말씀하신 대로 두 개의 서로 다른 사서함을 만드는 것입니다.conf.d/15-mailboxes.conf

namespace inbox {
  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
}

이 방법을 사용하면 두 개의 다른 보낸 편지함을 갖게 됩니다. 사용자가 그 중 하나를 삭제해도 다른 하나는 변경되지 않고 그대로 존재합니다.

답변2

플러그인을 사용할 필요가 없습니다. vmail 디렉터리로 이동합니다. 예:

cd /var/vmail/example.com/exampleUser/ 

"Sent Messages"그런 다음 예를 들어 모든 메시지를 폴더에 저장하고 대신 폴더에 저장 하려면 첫 번째 단계로 클라이언트를 통해 파일 "Sent"을 이동하십시오 ."Sent Messages""Sent"

그런 다음 /var/vmail/example.com/exampleUser/mail폴더에서 숨겨진 폴더를 제거합니다 "Sent Messages".

rm -r /var/vmail/example.com/exampleUser/mail/.Sent\ Messages

다른 이메일을 보내기 전에 다음 "Sent"에서 숨겨진 폴더에 심볼릭 링크를 추가하세요 "Sent Messages"(여기에 긴 줄이 있으므로 복사하여 붙여넣을 경우 주의 깊게 수행하세요).

ln -s /var/vmail/example.com/exampleUser/mail/.Sent /var/vmail/example.com/exampleUser/mail/.Sent\ Messages

정상적으로 작동할 것입니다. "Sent Items"또는 "Mail Sent"다른 폴더를 "Sent"하나의 폴더에 심볼릭 링크시키거나 다른 폴더가 다른 폴더를 가리키는 다른 솔루션을 원하고 그 중 하나에만 메일을 보관하려면 동일한 절차를 반복하십시오 .

"INBOX"폴더 로 사용할 비둘기장과 클라이언트를 만들어야 하는 경우 "Sent"사용자 이름(다시 긴 줄)을 사용하여 메일 폴더에서 심볼릭 링크를 만들어야 합니다.

ln -s /var/vmail/example.com/exampleUser/mail/ /var/vmail/example.com/exampleUser/mail/.Sent\ Messages

당신이 그것을 바꾸지 않았다면. 그런 다음 다음 줄을 편집합니다 /etc/dovecot/conf.d/15-mailboxes.conf.

namespace inbox {
  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
}

또는 다음과 같이 만들 수 있는 기타 동등한 것:

namespace inbox {
  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.
  mailbox INBOX {
    special_use = \Sent
  }
  mailbox INBOX {
    special_use = \Sent
  }
}

보시다시피 이제 두 개가 동일하므로 하나만 삭제할 수 있습니다.

namespace inbox {
  # For \Sent mailboxes there are two widely used names. We'll mark both of
  # them as \Sent. User typically deletes one of them if duplicates are created.

  mailbox INBOX {
    special_use = \Sent
  }
}

그러면 잘 작동할 것입니다. 저는 보낸 이메일이 노트북과 휴대폰 모두의 받은 편지함 폴더에 있기를 원했기 때문에 이 과정을 거쳤습니다. 노트북에는 비둘기장 해킹으로 충분했지만 휴대폰은 계속 "Sent Messages"폴더를 사용했기 때문에 심볼릭 링크 트릭을 사용해야 했습니다. 심볼릭 링크를 만들려는 폴더를 "Sent"선택 하는 데 매우 주의하세요 !"Sent Messages"

내 생각엔 플러그인이 단순히 심볼릭 링크 자체를 수행하므로 비슷한 것을 만드는 것뿐입니다. 이 기술을 사용하면 원하는 모든 폴더를 병합하고 고객이 변경 없이 계속 작업할 수 있습니다. :-)

관련 정보