
내가 설정하려고 했던 메일 서버에서 가상 사용자 user1
(이메일 주소 포함 [email protected]
)에게 메일을 파일로 전달하도록 postfix를 구성했습니다 . 나는 다음과 같이 설정하여 이 작업을 수행했습니다./var/mail/vhosts/[email protected]/mail
# /etc/postfix/main.cfg
virtual_mailbox_maps = mysql:/etc/postfix/virtmailmaps.conf
그리고:
# /etc/postfix/virtmailmaps.conf
# ...
query = SELECT destination FROM virtusers WHERE email='%s'
mysql 데이터베이스에는 다음 virtusers
테이블이 있습니다.
+----+----------+-------------------+------------------------+
| id | password | email | destination |
+----+----------+-------------------+------------------------+
| 1 | ... | [email protected] | [email protected]/mail |
+----+----------+-------------------+------------------------+
이제 비둘기장에 대해 다음을 설정했습니다.
mail_location = mbox:/var/mail/vhosts:INBOX=/var/mail/vhosts/%u/mail
그리고:
password_query = SELECT email as user, password FROM virtusers WHERE email='%u';
이것은 분명히 작업하기 위해 함께 해킹했지만 squirrelmail에 액세스하여 이메일을 보내거나 삭제하면 폴더가 생성 되고 Drafts
해당 내용이 모든 가상 사용자간에 공유됩니다.Trash
Sent
/var/mail/vhosts
따라서 일부 홈 옵션을 올바르게 설정하지 않은 것 같지만 구성 파일 옵션(postfix, dovecot 및 squirrelmail에서)이 수행하는 작업과 모든 것이 어떻게 결합되는지 명확하게 이해하지 못합니다. 예를 들어, 저는 이미 다음을 설정했습니다.
# /etc/dovecot/conf.d/auth-sql.conf.ext
userdb {
driver = static
args = uid=vmail gid=vmail home=/var/mail/vhosts/%u
}
Drafts
및 디렉토리 Trash
가 Sent
각 사용자의 홈 디렉토리에 있도록 이 문제를 어떻게 수정합니까 ?/var/mail/vhosts/[email protected]/
답변1
그랬어야 하지 않나?
mail_location = mbox:/var/mail/vhosts/%u:INBOX=/var/mail/vhosts/%u/mail
%u
즉, 현재 경로 에 사용자 이름 변수가 없고 mbox
경로에만 있습니다 INBOX
.