Возникли следующие проблемы: когда пользователь превышает квоту, в журнале exim появляется сообщение об ошибке:
$2012-11-06 14:22:38 1TVfxZ-00086u-U1 == username@domain R=localuser T=dovecot_delivery defer (0): Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/libexec/dovecot/dovecot-lda
Также в журнале сообщений есть сообщение об ошибке:
Nov 6 13:33:32 mx2 dovecot: lda(username@domain): Error: sieve: msgid=<5098D961.20608@gmail.com>: failed to store into mailbox 'INBOX': Quota exceeded (mailbox for user is full)
Nov 6 13:33:32 mx2 dovecot: lda(username@domain): Error: sieve: script /etc/dovecot/sieve/default.sieve failed with unsuccessful implicit keep
Транспорт Exim:
dovecot_delivery:
driver = pipe
command = /usr/libexec/dovecot/dovecot-lda -d $local_part@$domain -f $sender_address
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
log_output
user = vmail
temp_errors = 64 : 69 : 70: 71 : 72 : 73 : 74 : 75 : 78
Итак, sieve не может хранить электронную почту из-за квоты, но почему он не показывает правильную ошибку в журнале exim? Как это исправить?
Без плагина сита:
Nov 6 15:41:00 mx2 dovecot: lda(username@domain): msgid=<5098F744.7070200@gmail.com>: save failed to INBOX: Quota exceeded (mailbox for user is full)
Заранее спасибо!
В качестве MTA exim получил электронное письмо и передал его dovecot (в качестве MDA) для локальной обработки и доставки. Dovecot, который знает о квотах, имеет проблему с превышением квоты пользователем, не может доставить электронное письмо и ведет журнал для этого. Он также сообщает exim о том, что доставка не удалась, чтобы exim мог делать правильные вещи, и exim регистрирует, что произошла ошибка, возможно временная, с доставкой. Надеюсь, это электронное письмо либо было помещено в очередь, либо возвращено отправителю.
Вы не говорите, что ожидаете увидеть в журналах, но я предполагаю, что то, что вы видите выше, не соответствует вашим ожиданиям. Проблема в том, что эти журналы имеют смысл в свете того, кто за что отвечает, поэтому вам, вероятно, придется изменить свои ожидания.
редактировать: "Сообщение все еще в очереди и будет доставлено"? Тогда логи верны. Отправитель еще не должен был быть уведомлен об ошибке доставки, поскольку MTA еще не решил умыть руки этой транзакции. Хорошо настроенный MTA отправит отправителю предупреждение по истечении разумного периода (по умолчанию sendmail ожидает четыре часа), чтобы сообщить, что получатель его не получил. все же но MTA будет продолжать попытки. Я не знаю, сделал ли это ваш exim, вы можете спросить отправителя или проверить свои почтовые журналы.
(Краткий глоссарий: MTA = Mail Transport Agent, например exim или sendmail; MDA = Mail Delivery Agent, часто procmail, но здесь, очевидно, lda dovecot).