Zimbra почта

Ограничение размера ящика и письма

Zimbra в качестве MTA использует Postfix, где эти ограничения задаются переменными:

# устанавливаем ограничение на ящик в 100Мб и на письмо в 10Мб
mailbox_size_limit = 102400000
message_size_limit = 10240000

Конфигурационный файл /opt/zimbra/postfix/conf/main.cf генерируется при каждом запуске зимбры, поэтому исправлять его нет смысла. Редактируем файл /opt/zimbra/conf/zmmta.cf, но так как он доступен только для чтения, то сначала придётся сменить права:

$ chmod u+w ./zmmta.cf

Находим вышеуказанные переменные, присваиваем нужные значения, перезагружаем зимбру:

$ zmcontrol restart

Перенос учётных записей

Перенесём (импортируем) учётные записи из предыдущей почтовой системы. У меня использовался Postfix под управлением PostfixAdmin.

Для такого случая есть специальный скрипт.

#!/usr/bin/php

// Postfixadmin (http://postfixadmin.sourceforge.net/) to Zimbra
// (www.zimbra.com) migration script
//
// History:
// Based on work from: Jaros Baw Czarniak
// Enhanced by NERvOus (www.nervous.it) on 1-12-2009

<?php
/////////////////////////////////////////////////////////

$user="postfix";
$pass="postfixadmin";
$db="postfix";
$table_mbox="mailbox";
$table_alias="alias";
$file="import.sh";

/////////////////////////////////////////////////////////
echo "This script generates a bash script called: $file
The script contains the commands to re-create the mboxes and
aliases on zimbra server.\n\n
";

$mydb = mysql_connect('localhost',$user, $pass) or die ('Error connecting to server');
mysql_select_db($db);
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");

$query = "SELECT username,password,name,maildir,quota,domain
                FROM $table_mbox";
$dane = mysql_query($query) or die ('Error during query for '.mysql_error());

echo "Writing to $file ...\n";
$fh = fopen($file, "w");

fwrite($fh, "#!/bin/sh -x\n\n");

while ($row = mysql_fetch_array($dane, MYSQL_NUM))
{
    $data_mbox = "zmprov ca ".$row." dsfs123hsdyfgbsdgfbsd displayName '".$row."'\n";
    $data_mbox .= "zmprov ma ".$row." userPassword '{crypt}".$row."'"."\n";
    fwrite($fh, $data_mbox);
}
// skip domain aliases, aliases that forward to themselves and aliases
// for which a mbox exists
$query = "SELECT address, trim(trailing ',' from goto) AS dest
                FROM ".$table_alias."
                WHERE address NOT LIKE '@%'
                        AND address NOT IN (SELECT username FROM $table_mbox)
                HAVING address != dest";
$dane = mysql_query($query) or die ('Error during query for '.mysql_error());
while ($row = mysql_fetch_array($dane, MYSQL_NUM)) {
        // multiple dests
        unset($rawdest_r);
        unset($dest_r);
        $rawdest_r = preg_split('/,/', $row);
        foreach ($rawdest_r as $dest) {
                if ($dest != $row) {
                // don't forward to itself
                        $dest_r[] = $dest;
                }
        }
        if (count($dest_r) > 1) {
                // distribution list
                $data_list .= "zmprov cdl $row\n";
                foreach ($dest_r as $dest) {
                        $data_list .= "zmprov adlm $row $dest\n";
                }
        }
        if (count($dest_r) == 1) {
                preg_match('/@(.*)$/', $row, $matches);
                $acct_domain = $matches;
                preg_match('/@(.*)$/', $dest_r, $matches);
                $alias_domain = $matches;
                if ($acct_domain == $alias_domain) {
                        // we are adding an alias, not a forward
                        // try to create alias both for a normal
                        // account and for a distribution list. One of the
                        // commands will fail, pity.
                        $data_alias .= "zmprov aaa $dest_r $row\n";
                        $data_alias .= "zmprov adla $dest_r $row\n";
                } else {
                        // we are adding a forward
                        $data_alias .= "zmprov ca $row " . rand_str(11) . "\n";
                        $data_alias .= "zmprov ma $row zimbraprefmailforwardingaddress $dest_r\n";
                }
        }
}

// first create all distribution lists, last all aliases
// We cannot create aliases for distribution lists that do not
// exist yet
fwrite($fh, $data_list . $data_alias);
fclose($fh);


echo "Done.

Now copy $file to zimbra server and run:
# su - zimbra
$ sh ./$file
";


function rand_str($length = 32, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890')
{
    // Length of character list
    $chars_length = (strlen($chars) - 1);

    // Start our string
    $string = $chars{rand(0, $chars_length)};

    // Generate random string
    for ($i = 1; $i < $length; $i = strlen($string))
    {
        // Grab a random character from our list
        $r = $chars{rand(0, $chars_length)};

        // Make sure the same two characters don't appear next to each
        // other
        if ($r != $string{$i - 1}) $string .=  $r;
    }

    // Return the string
    return $string;
}

Полученный с помощью этого скрипта файл import.sh выполняем на сервере Zimbra.

Overview

Command Format

The format of a Zimbra REST command is:

{protocol}://{host}:{port}/home/{user}/{object}?{params} 

HTTP methods are for reading items. HTTP methods are for creating/modifying items. The following describes the components of the Zimbra REST command:

Component Description
The transport protocol, for example, .
The host name or IP address of the Zimbra Collaboration Suite server
The port number, for example, 7070.
The user. To load an explicit user account, specify the user in one of the following formats:

  • john.doe
    http://localhost:7070/home/john.doe/inbox.rss
    
  • john.doe@mydomain.com
http://localhost:7070/home/john.doe@mydomain.com/inbox.rss

You can also use «~» as a shortcut to the current authenticated user. For example:

http://localhost:7070/home/~/inbox.rss
Designates the object to perform the command against. This might be a folder (such as inbox or drafts) or omitted (to download a specific item). If omitted, the query parameters provide the information the command requires.

For example, to download the inbox folder as XML:

http://localhost:7070/home/john.doe/inbox.rss

For example, to download an item:

http://localhost:7070/home/john.doe/?id=657
A list of command-specific URL parameters. See the specific command for a list of the required and optional parameters.

Response Formats

The following describes the various response formats, designated using the parameter. Not all commands support all formats. See the specific command for a list of supported formats and command-specific details:

Format Description
Hyper Text Markup Language file format. Produced the output as a web page.
Data compression and archive format.
Data archive format («tar»).
Compressed file.
Common Separated Values file format. A specific CSV format can be designated using the parameter. Supported CSV formats include:

  • zimbra-csv
  • yahoo-csv
  • thunderbird-csv
  • outlook-2000-csv
  • outlook-2003-csv
Requests that the server return additional meta-data in the response headers. When using this option, the headers are returned inline of the response, unless you specify .

For example, get a mail message by item id and return the meta-data in the response headers and inline.

http://localhost:7070/home/john.doe/?id=288&fmt=sync

For example, get a mail message by item id and return the meta-data in the response headers only.

http://localhost:7070/home/john.doe/?id=288&fmt=sync&nohdr=1

The following is a list of the meta-data headers:

  • X-Zimbra-ItemId
  • X-Zimbra-FolderId
  • X-Zimbra-Tags
  • X-Zimbra-Flags
  • X-Zimbra-Received
  • X-Zimbra-Modified
  • X-Zimbra-Change
  • X-Zimbra-Revision
  • X-Zimbra-Conv

Authentication

There are multiple methods to authenticate as a user when accessing a mailbox. Using the parameter, you can designate how to authenticate and whether or not to set the authentication cookie.

Default is . Meaning: first, check for a cookie auth token; second, check for query parameter auth token; thrid, prompt for basic authentication.

The parameter supports a list of comma-separated values which include:

Value Description
The authentication token will be retrieved from the cookie.

For example:

http://localhost:7070/home/john.doe/inbox.rss?auth=co
The authentication token will be retrieved from request parameter .

For example:

http://localhost:7070/home/john.doe/inbox.rss?auth=qp&zauthtoken=0_thisismyzauthtokenthisismyzauthtoken_thisismyzauthtoken
These methods refer to Basic Authentication:

  • = Use Basic Authentication and do not set cookie after authentication.
  • = Same as .
  • = Use Basic Authentication and set cookie after authentication.

For example:

http://localhost:7070/home/john.doe/inbox.rss?auth=ba

Дополнительные настройки

Добавление отправителей в белый список

Может возникнуть ситуация, при которой нам нужно изменить назначение СПАМ-балов для некоторых отправителей. Для этого открываем файл:

vi /opt/zimbra/conf/amavisd.conf.in

Находим строку:

   { # a hash-type lookup table (associative array)
   …
   }

… и внутри фигурных скобок {} добавим нужный нам домен или конкретного отправителя:

   …
   ‘dmosk.ru’                           =>  -10.0,
   ‘sender@dmosk2.ru’                   =>  -10.0,
}

* таким образом мы сказали, что для писем с домена dmosk.ru и отправителя sender@dmosk2.ru отнимать 10 баллов за СПАМ. Такие письма начнут приходить без блокировки (при условии, что не будет отправлен явный СПАМ, который наберет очень много баллов).

После настройки перезапускаем amavis:

su — zimbra -c «zmamavisdctl stop && zmamavisdctl start»

Размер отправляемого сообщения

Задать максимальный размер сообщений можно командой:

su — zimbra -c ‘zmprov modifyConfig zimbraMtaMaxMessageSize 31457280’

* в данном примере мы задаем максимальный размер сообщения 30 мб.

После перезапускаем postfix:

su — zimbra -c «postfix reload»

Настройка DKIM

Отдельно рассмотрим процесс настройки подписи DKIM на почтовом сервере Zimbra. Формирование ключей выполняется для каждого из доменов из командной строки. Подключаемся к серверу по SSH и вводим команду:

su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -a -d dmosk.ru»

* данная команда создаст последовательности ключей для домена dmosk.ru.

Мы должны получить ответ на подобие:

Public signature to enter into DNS:
5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey IN      TXT     ( «v=DKIM1; k=rsa; »
          «p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5iLy58AJ1fdB15BZgh/VtGfZsi+TrDyvqqZaL5pJ+MQaQrpqHW8AF5kyxW2QzAMjyKzySMZX0PoHUuV93Yxf2t52IFihvb7ivqmRwlqFV3gU7j8zqbAGWHfZo4Ydw0kUmU6pm+Z85aWt4k7rQ7vWXludQGf8yIaSMMmodxze9E5VUOtUA18dIEEPcbwSgOO6YhQLuC78T4FiF5»
          «8epQnsX0voSfg9tMW+r+P1b5fTy5Guyqh1plWYseKxPzHKHbc4Lokcgo1AZzKG5Mvo5OCXsKUE1fSoc366AFSoUnWr23P7oUbf+NjXzPMS8ESGA9TfpDA6eRJT4QEpi72AdIy4rQIDAQAB» )  ; —— DKIM key 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 for dmosk.ru

В данном ответе нас интересуют записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey — это имя для TXT в домене dmosk.ru; «v=DKIM1; k=rsa; » «p=M…AB» — содержимое записи.

В настройках домена необходимо добавить данную запись, после чего подождать, минут 15. После выполняем проверку:

opendkim-testkey -d dmosk.ru -s 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 -x /opt/zimbra/conf/opendkim.conf

* где dmosk.ru — наш домен; 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49 — селектор, который мы видели в записи 5D8C3E02-4EFA-11EA-872A-D9A5B4628C49._domainkey.
* если при вводе команды мы получим ошибку «Command ‘opendkim-testkey’ not found», необходимо установить opendkim-tools командой apt-get install opendkim-tools (deb) или yum install opendkim-tools (RPM).

Для просмотра имеющихся записей DKIM можно воспользоваться командой:

su — zimbra -c «/opt/zimbra/libexec/zmdkimkeyutil -q -d dmosk.ru»

Что такое Zextras

Продукт Zextras состоит из двух компонентов — Zextras Suite и Team Pro. Рассмотрим функционал каждого из них. Начнем с Zextras Suite и его основных возможностей (не всех):

  1. Одноканальный (1:1) мессенджер с поддержкой аудио и видео звонков.
  2. Создание и редактирование документов, таблиц, презентаций в интегрированной LibreOffice с поддержкой форматов документов Microsoft Office, кроме бизнес аналитики, OLAP.
  3. Совместная работа с документами через web интерфейс. В том числе преобразование в pdf в один клик.
  4. Индивидуальный виртуальный диск Drive для хранения документов с возможностью делиться файлами.
  5. Поддержка различных Storage для хранения информации, в том числе объектные, типа S3 с приоритезацией хранения данных на хранилищах разных типов.
  6. Расширенная возможность бэкапа (компрессия, дедупликация) и восстановления данных, в том числе удаленных писем и т.д. Все это связано с поддержкой различных Storage из предыдущего пункта.
  7. Поддержка мобильных устройств, в том числе с помощью Active Sync. Есть мобильные приложения для iOS и Android.
  8. Поддержка клиента Microsoft Outlook с помощью того же Active Sync.
  9. Расширенные возможности администрирования. Делегирование нескольким администраторам ограниченных прав, логирование их действий и т.д.

Продукт Team Pro дает дополнительные возможности к перечисленным выше:

  1. Многоканальные видеозвонки для организации видеоконференций.
  2. Возможность общения с внешними пользователями, не зарегистрированными в системе.
  3. Демонстрация своего экрана для одного или нескольких зрителей, возможность делиться файлами.

Все перечисленные возможности интегрированы в стандартный интерфейс Zimbra и управляются через него. Расширения Zextras являются надстройкой, не изменяя код самого почтового сервера. Их можно без проблем удалить. Аудио и видеочаты реализованы на базе WebRTC, поэтому работают через браузер и не требуют установки дополнительного ПО.

Zextras полностью платный продукт. Open source версии нет. Можно воспользоваться 30-ти дневным триалом для тестирования функционала. Стоимость различных лицензий можно узнать у официального партнера Zextras в РФ — SVZcloud.

С теорией и описанием закончили. Переходим к установке и настройке. Начнем с установки Zimbra.

Чат и видеозвонки

Возможности чата не слишком большие, но тем не менее, есть крутая штука, которая мало у кого реализована. Я имею ввиду не популярные мессенджеры, а закрытые чаты, которые можно развернуть на своем сервере. Есть индикация того, прочитано ли твое сообщение. Реализовано так же, как во всех популярных мессенджерах в виде галочки. Одна галочка — сообщение доставлено, но не прочитано. Две галочки — прочитано.

Тут же из разговора можно осуществить звонок, в том числе с видео. Я смог протестировать этот режим в формате видеозвонка даже с одного своего ноутбука позвонив самому себе в разные учетки, открытые в двух браузерах.

Входящий звонок в почтовом клиенте выглядит так.

При этом пиликает звук из динамиков компьютера. Поговорить самому с собой через один микрофон у меня получилось. Так выглядит интерфейс видеозвонка.

Тут же можно расшарить свой экран, но для этого надо установить отдельное расширение для Chrome.

Вообще, до этого момента я немного прохладно относился ко всей этой затее с Zimbra и Zextras. Вроде и функционально, но не везде удобно, да и денег стоит. Но когда увидел этот чат с видео, с демонстрацией экрана, который у меня сразу и без проблем заработал, я проникся. Ведь это реально очень удобно. Сидишь, работаешь, получил почту. Что-то не понял, тут же написал в чат, договорился о звонке. Созвонились, поговорили, показали друг другу экраны, все объяснили. Это реально круто и удобно.

Плюс, можно создавать отдельные комнаты и проводить конференции. Ведущий запускает у себя камеру, шарит экран и начинает объяснять или что-то рассказывать. Остальные либо просто слушают, либо с включенными веб камерами сидят. И при этом не нужен никакой дополнительный софт. Все работает через браузер. И ты можешь сюда запускать людей со стороны, просто давая им ссылки на чат комнаты.

О, Zimbra почта

Вход в почту может быть осуществлен как с мобильного устройства так и с компьютера стационарного типа. Для того чтобы воспользоваться преимуществами корпоративной почты, а именно для таких целей и создана Zimbra, нужно всего лишь одно: получить логин и пароль доступа к корпоративному почтовому серверу и установить на используемое вами устройство соответствующее ПО (например, для Windows ОС можно скачать вот эту программу клиент — Zimbra Desktop). Или же воспользоваться традиционным способом:

Введите в поисковой строке своего браузера адрес: https://mail.iks.ru/

Прописываем соответствующие секретные коды доступа и вуа-ля — вы там, где комфорт и эффективность правят балом, а если быть точнее…разница будет лицеприятна и понятна в плане управления.

Zimbra Collaboration

Zimbra release notes are specific to each version of the server. Select your version from the list below to see the release notes for it.

Release Codename Patch Level Third-Party Patch Level General Availability Download the Release Notes
9.0.0 GA Release Kepler Patch 20 No released patches 04/07/2020
8.8.15 GA Release (LTS Release) Joule Patch 27 No released patches 07/22/2019
8.8.12 GA Release Isaac-Newton Patch 6 No released patches End of General Support 12/31/2019 04/01/2019
8.8.11 GA Release Homi-Bhabha Patch 5 No released patches End of Technical Guidance 12/17/2019 12/17/2018
8.8.10 GA Release Konrad-Zuse Patch 8 No released patches End of Technical Guidance 10/01/2019 10/03/2018
8.8.9 GA Release Curie Patch 10 No released patches End of Technical Guidance 07/09/2019 07/10/2018
8.8.8 GA Release Turing Patch 10 No released patches End of Technical Guidance 03/29/2019 04/02/2018
8.8.7 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 03/08/2018
8.8.6 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 01/15/2018
8.8 GA Release JudasPriest No released patches No released patches End of Technical Guidance 03/29/2019 12/12/2017
8.7.11 GA Release JudasPriest Patch 14 No released patches End of General Support 12/31/2019 06/08/2017
8.7.10 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 05/31/2017
8.7.9 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 05/11/2017
8.7.8 Early Developer Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 04/27/2017
8.7.7 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 04/13/2017
8.7.6 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/30/2017
8.7.5 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/16/2017
8.7.4 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 03/02/2017
8.7.3 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 02/17/2017
8.7.2 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 02/02/2017
8.7.1 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 10/27/2016
8.7.0 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2019 07/13/2016
8.6.0 GA Release JudasPriest Patch 14 No released patches End of Technical Guidance 9/30/2019 12/15/2014
8.5.1 GA Release JudasPriest No released patches No released patches End of Technical Guidance 9/30/2018 11/03/2014
8.5.0 GA Release JudasPriest Patch 2 No released patches End of Technical Guidance 9/30/2018 08/28/2014
8.0.9 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 11/03/2014
8.0.8 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 09/25/2014
8.0.7 GA Release IronMaiden Patch 2 End of Technical Guidance 9/10/2017 04/08/2014
8.0.6 GA Release IronMaiden No released patches End of Technical Guidance 9/10/2017 12/03/2013
8.0.5 GA Release IronMaiden Patch 1 End of Technical Guidance 9/10/2017 09/10/2013
8.0.4 GA Release IronMaiden Patch 2 End of Technical Guidance 9/10/2017 05/24/2013
8.0.3 GA Release IronMaiden Patch 3 End of Technical Guidance 9/10/2017 03/05/2013
8.0.2 GA Release IronMaiden Patch 1 No released patches End of Technical Guidance 9/10/2017 12/10/2012
8.0.1 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 11/05/2012
8.0.0 GA Release IronMaiden No released patches No released patches End of Technical Guidance 9/10/2017 09/07/2012
7.2.7 GA Release Helix No released patches No released patches End of Technical Guidance 3/31/2015 03/14/2014

Try Zimbra

Want to get involved?

Other help Resources

Looking for a Video?

Настройка DNS

Для корректной работы почты необходимо настроить DNS для нашего домена.

1. Запись MX.

Позволяет определить почтовый сервер для домена. Подробнее о том, что это и как ее правильно прописать в статье Что такое MX-запись.

2. Запись A.

Для нашего сервера, который определен как MX запись нужна запись А, которая указывает на его IP-адрес. В моем примере это сервер zimbra.dmosk.ru, который из сети Интернет должен разрешаться во внешний IP-адрес.

3. PTR.

Данная запись представляет из себя обратное разрешение IP-адреса в домен. С ее помощью подтверждается легитимность отправителя. Подробнее в статье Что такое PTR-запись.

4. SPF.

Это запись TXT, которая определяет список серверов для домена, с которых разрешена отправка почты. Подробнее — Что такое SPF.

5. DKIM.

Подтверждение владельца домена. Письмо отправляется с зашифрованным заголовком и расшифровать его можно с помощью последовательности, хранящейся в TXT-записи на DNS. Соответственно, если владелец домена разместил такую последовательность, то он и является его владельцем. Подробнее — Что такое DKIM. Также в данной инструкции ниже мы разберем настройку DKIM на Zimbra.

6. DMARC.

Определяет для домена политику проверки писем. Подробнее — Что такое DMARC.

Такие полезные опции: фишки Zimbra функционала

Что тут сказать, интерфейс потрясает: все плавно и подробно (необычность не только в описании — эжто нужно проверить, пощупать и принять на вооружение)

Кнопки на своем действительном и, что немаловажно, ожидаемом месте. Пальцы сами находят нужный раздел и письма открываются как по велению мыслей пользователя

Кстати, о спаме можно совсем забыть, как о явлении, не имеющем места быть в Zimbra в принципе и априори. Конечно же если сисадмин на фирме все правильно настроил и нигде не допустил «непоправимых упущений».

Главное достоинство Zimbra — это софт, который работает безупречно и по-умному. Мгновенное быстродействие — это недостаточное описание молниеносно происходящего процесса «обмен сообщениями», которые, кстати, по многим характеристикам (например, ограниченность традиционных серверов почты — письмо в 25 МБ и ни байта больше!) в разы превосходит «долгоиграющие аналоги в Сети.

Сегодня вопрос о защите персональных данных в Интернете всё больше набирает популярности. Особенно, тенденцию к улучшению уровня защиты информации можно заметить у различных фирмах и корпорациях, которые дорожат своими секретами. Если же говорить о защите переписок, то здесь уместно будет сказать о сервисе Zimbra, который имеет ряд особенностей, о чем мы далее и поговорим.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector