На перший погляд завдання досить непросте, але як виявилося - все досить легко реалізується. Маємо - операційна система FreeBSD і поштовий сервер на базі Postfix. Ось які можливості для вирішення цього завдання надає нам Postfix:
Розглянемо 2 варіанти реалізації - на основі файлів (індексованих карт hash) і бази даних MySQL.
Спосіб з використанням індексованих hash карт
Ми можемо контролірівать, що хочемо отримати в результаті - копіювати на певний ящик тільки відправляються користувачем повідомлення або тільки вхідні, а може і те і інше.
Для прикладу розглянемо варіант копіювання вихідних повідомлень:
2. Додаємо в main.cf рядок
3. Обов'язково створюємо індексований файл:
Аналогічні кроки потрібно зробити для отримання можливості копіювання вхідної пошти. Замість sender_bcc_maps слід використовувати recipient_bcc_maps.
Увага! Після внесення змін не забуваємо перебудувати хеш:
Спосіб з використанням MySQL
Мається на увазі, що ви вже використовуєте MySQL спільно з Postfix для зберігання облікових записів, транспорту і т.д.
1. Створюємо табличку bcc у вашій базі даних
2. в / usr / local / etc / postfix / створюємо файли sender_bcc.cf і recipient_bcc.cf:
3. У main.cf додаємо рядки
4. перезапуск Postfix для застосування змін. Зміни даних в таблиці MySQL bcc застосовуються без перезапуску Postfix.
Позбавляємося від дублювання повідомлень bcc_maps
Щоб не відбувалося дублювання пошти при використанні bcc_maps в master.cf слід додати рядок:
У моєму випадку це виглядає так:
Якщо ви вважаєте статтю корисною,
не лінуйтеся ставити лайки і ділитися з друзями.
Великий брат завжди стежить за тобою :)
Тільки є ще питання "Позбавляємося від дублювання повідомлень bcc_maps" це потрібно прописувати для всіх варіантів або тільки тим хто юзает MySQL
спробував налаштувати пересилання вихідних листів за допомогою hash. Виникло питання:
пересилання можлива на ящик з іншого домену? або тільки на ящик в рідному домені. Заздалегідь дякую.
Значить, то що доктор прописав (2 спосіб), створюємо табличку, і все добре, тоді варто трохи подумати, 1. щоб все в купу НЕ валити, нам необхідно для кожного користувача створити ящик backup, прописати його в 2 таблиці, в цьому випадку у нас все вхідні-вихідні для даного листа будуть валиться в одну папку на сервері, свалочка вийде, по хорошому для кожного користувача треба буде створити додатково 2 поштові скриньки, user_backup_from і user_backup_to. Недобре виходить, гамірно це, може хто розповість, як будуть ходити листи всередині домену? один і той же лист буде збережено 2 рази? як то знову недобре. Може валити все в купу, відправляти логи postfix в mysql, потім на це все господарство натягнути веб морду з можливістю вивантаження файлів в окремий каталог по окремому користувачеві, зате ні таблиць, ні зайвого сміття і завжди зручно підглядати, відновити
А чи є можливість робити винятки?
Тобто щоб робилися бекапи всієї вихідної пошти домену, крім 2 ящиків.
Підкажіть а як може статися дублювання, яке ви лікуєте редагуванням master.cf?
спасибі величезною за відключення дублювання
Витратив цілий день на буржуйських форумах на вирішення проблеми з дублюванням. Ніде ні слова про опцію, тільки питання як прибрати дублювання і жодної відповіді!
Скажіть чи є можливість і як це реалізувати. Припустимо щоб якщо лист від [email protected] прийшло на [email protected], то тільки тоді копія листа приходить великого брата.
Дякую за статтю!
все працює, як годиться!