Системная информация:
Description: Ubuntu 10.04.4 LTS
Linux mail 2.6.32-42-server #95-Ubuntu SMP Wed Jul 25 16:10:49 UTC 2012 x86_64 GNU/Linux
H/W path Device Class Description
====================================================
system Bochs
/0 bus Motherboard
/0/0 memory 96KiB BIOS
/0/401 processor QEMU Virtual CPU version 1.0.50
/0/402 processor CPU
/0/1000 memory 2GiB System Memory
/0/1000/0 memory 2GiB DIMM RAM
/0/100 bridge 440FX - 82441FX PMC [Natoma]
/0/100/1 bridge 82371SB PIIX3 ISA [Natoma/Triton II]
/0/100/1.1 scsi1 storage 82371SB PIIX3 IDE [Natoma/Triton II]
/0/100/1.1/0.0.0 /dev/cdrom disk DVD reader
/0/100/1.2 bus 82371SB PIIX3 USB [Natoma/Triton II]
/0/100/1.3 bridge 82371AB/EB/MB PIIX4 ACPI
/0/100/2 display GD 5446
/0/100/a storage Virtio block device
/0/100/12 network Virtio network device
/1 eth0 network Ethernet interface
Я случайно установил Postfix из APT на виртуальную машину нашего почтового сервера Zimbra (KVM / Proxmox VE 2.1). Я промыл его мгновенно, но это не помогло. Следующие шаги я предпринял в отчаянной попытке исправить это:
Сбросить разрешения
chown -R zimbra: zimbra / opt / zimbra
Фиксированные разрешения
/ opt / zimbra / libexec / zmfixperms -verbose -extended
Перезапуск службы Zimbra
Обновлены SSH-ключи Zimbra
zmsshkeygen
Обновлены ключи Zimbra SSH
zmupdateauthkeys
Следуя описанным выше шагам, Zimbra теперь снова работает, проблема в том, что все электронные письма, которые были в очереди почты после целого дня сломанной Zimbra, теперь ушли! И я имею в виду не только то, что вы не можете видеть их в графическом интерфейсе, их больше нет даже в файловой системе.
Когда я пытался исправить Zimbra, в очереди находилось не менее 75 писем, и сейчас состояние спула таково:
zimbra@mail:~$ postqueue -p
Mail queue is empty
Куда делись все мои электронные письма !?
Если у кого-то возникнет эта проблема в будущем, вы можете исправить это следующим образом. У вас может оказаться больше, чем несколько дубликатов, это лучше, чем потерять важное письмо ...
Чтобы найти сообщения, поставленные в очередь, выполните:
grep -iRE '<recipient_email_address>' /var/log/mail.log* | grep -i 'queued as' | awk '{print $6}' | cut -d ':' -f 1 | xargs | tr ' ' '|'
Чтобы найти настоящие файлы электронной почты в файловой системе, запустите:
grep -iRE '<output_from_previous_command>' /opt/zimbra/store | grep -iv 'Message-Id' | cut -d ':' -f 1 | xargs
«Вставить» электронное письмо обратно в учетную запись пользователя, из которой они пришли:
su -l zimbra
/opt/zimbra/bin/zmlmtpinject <output_from_previous_command> -r <recipient_email>
Имейте в виду, что вы потеряете всю информацию о дате и времени. Единственный способ обойти это - добавить заголовок «X-Zimbra-Received» к каждому сообщению, содержащему копию заголовка «Date:». Используйте свое воображение, чтобы сделать это, приходит на ум Perl ...