Отправка всей исходящей почты в папки «Отправленные» с помощью postfix и cyrus imap.
Сделать так, чтобы postfix отправлял копии всех исходящих писем на специальную «рассылку»
почтовый аккаунт. Используйте сито на этой специальной учетной записи, чтобы перенаправить все электронные письма
в папку «Отправленные», связанную с учетной записью.
Создать учетную запись пользователя электронной почты для отправки
Самый простой способ сделать это - создать новую учетную запись unix для отправки,
установка оболочки в / bin / false, чтобы никто не смог войти
в:
host$ sudo useradd sent
host$ sudo chsh -s /bin/false sent
Настройка imap для отправленного пользователя
Используя cyradm, мы создаем новый почтовый ящик (т.е. пользователя) и даем этому пользователю возможность добавить
доступ ко всем нашим папкам imap "Отправлено":
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
Создать ситовый скрипт для отправленной учетной записи
Этот скрипт перенаправит всю входящую почту на отправленную учетную запись, на
Отправленная папка в папке «Входящие» отправителей.
Мой скрипт называется 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 в примере выше). Я не смог
найти лучший способ сделать это. Предложения приветствуются
marc@bloodnok.com
Установите скрипт сита следующим образом:
host$ sieveshell localhost -user=sent -a=cyrus
Password: <enter you cyrus user admin password here>
> put sent.sieve
> activate sent.sieve
> quit
Настройка отображения ОЦК для постфикса
В каталоге postfix (/ etc / postfix в debian) создайте файл с именем
bcc_map, которое выглядит так:
# copy all locally sent mail to the sent account
@yourdomain.com sent@yourdomain.com
Скомпилируйте это в хеш-файл постфикса, используя:
host$ sudo postmap bcc_map
Добавьте следующую строку в файл конфигурации postfix main.cf:
sender_bcc_maps = hash:/etc/postfix/bcc_map
И сделать postfix перезагрузить свою конфигурацию:
host $ sudo /etc/init.d/postfix reload
Тестирование и отладка
Отправьте электронное письмо и убедитесь, что оно скопировано в папку «Отправленные».
В случае возникновения проблем вы должны проверить логи cyrus и postfix
(все записаны в /var/log/syslog
на моем хосте debian). Проверь и неверно
права доступа обычно приводят к тому, что некоторая подсказка отправляется
журналы.