Thank you for reading this post, don't forget to subscribe!
1. Размер почтового ящика
Открываем конфигурационный файл Postfix:
vi /etc/postfix/main.cf
* для FreeBSD путь будет /usr/local/etc/postfix/main.cf.
Для установки квоты на почтовые ящики редактируем следующее:
mailbox_size_limit = 209715200
virtual_mailbox_limit = 209715200
* значение указывается в байтах. В данном примере установлены квоты для почтовых ящиков и виртуальных почтовых ящиков в 200 мб. Для удобства, воспользуйтесь конвертером мегабайт.
Чтобы снять ограничения, можно выставить значения в 0:
mailbox_size_limit = 0
virtual_mailbox_limit = 0
2. Размер отправляемого сообщения
Открываем конфигурационный файл, находим и правим следующее (если строки нет, создаем):
message_size_limit = 31457280
* в данном примере установлено ограничение на размер письма в 30 мб.
Необходимо, чтобы данный размер не превышал размер почтового ящика (mailbox_size_limit и virtual_mailbox_limit, которые по умолчанию имеют значения 51200000 или 50 мб), в противном случае, в логе мы увидим ошибку fatal: main.cf configuration error: mailbox_size_limit is smaller than message_size_limit.
Для этого можно либо задать значения равные (или больше) message_size_limit:
mailbox_size_limit = 73400320
virtual_mailbox_limit = 73400320
… либо отключить ограничения:
mailbox_size_limit = 0
virtual_mailbox_limit = 0
3. Количество сообщений
В конфигурационном файле добавляем такие строки:
anvil_rate_time_unit = 60s
smtpd_client_message_rate_limit = 100
smtpd_client_recipient_rate_limit = 30
smtpd_client_connection_rate_limit = 20
* в данном примере мы установили следующие ограничения на количество отправляемых писем: можно отправлять только 100 сообщений в минуту (60s), при этом количество получателей не должно превышать 30, а количество коннектов ограничено числом 20.
4. Очередь сообщений
queue_run_delay = 5m
minimal_backoff_time = 10m
maximal_backoff_time = 15m
maximal_queue_lifetime = 1d
* где queue_run_delay задает время, как часто сообщения из очереди будут отправляться повторно; minimal_backoff_time устанавливает время, на которое будет отложена отправка сообщений, которые не были отправлены по причине временных неисправностей (например, принимающий сервер не отвечает или просит повторить запрос позже), но не позднее maximal_backoff_time; параметр maximal_queue_lifetime установит, через какой период перестать делать попытки при отправке сообщения и вернуть его отправителю с ошибкой.
5. Таймаут на отправку сообщений
smtp_data_done_timeout = 600s
smtp_data_init_timeout = 120s
smtp_data_xfer_timeout = 180s
* где smtp_data_done_timeout — ограничение времени для отправки сообщения; smtp_data_init_timeout— ограничение времени для отправки команды SMTP DATA и для получения ответа удаленного SMTP-сервера; smtp_data_xfer_timeout — ограничение времени для отправки содержимого сообщений.
552 5.3.4 message size exceeds fixed limit
Если сталкиваемся с сообщением «552 5.3.4 message size exceeds fixed limit» (переводится как «Размер сообщения превышает установленные ограничения»), значит отправляемое письмо не вписывается в установленные лимиты. Чтобы исправить ситуацию, уменьшаем размер сообщения или редактируем лимиты (пункты 1 и 2).
Работа с конфигом postfix
Неколько полезных консольных команд по работе с конфигурацией:
Посмотреть значение параметра по умолчанию:
postconf -d mailbox_size_limit
Посмотреть текущее значение параметра:
postconf -n message_size_limit
Изменить значение:
postconf -e "virtual_mailbox_limit = 0"