Как повторно поставить в очередь файл mbox с помощью sendmail - PullRequest
0 голосов
/ 08 мая 2020

Плохое изменение в sendmail привело к созданию файлов почтового ящика вместо записи писем в maildir. Мы отменили изменение, и теперь электронные письма хорошо доставляются в почтовые ящики. Но электронные письма в файлах почтовых ящиков остаются, и я ищу способ повторно поставить эти письма в очередь, чтобы их можно было доставить в maildir.

Ответы [ 2 ]

0 голосов
/ 11 мая 2020

Здесь описано другое решение: http://giantdorks.org/alain/resend-mail-thats-locally-stored-in-a-mbox-format-on-a-linux-box-to-a-working-email-address/

Он использует formail для отсоединения писем и sendmail для их повторной отправки.

0 голосов
/ 11 мая 2020

Наконец, я использовал mb2md (http://manpages.ubuntu.com/manpages/eoan/en/man1/mb2md.1.html), чтобы преобразовать все эти почтовые ящики в maildirs, а затем скопировал различные электронные письма внутри вновь созданных maildirs для maildirs соответствующих пользователей.

Скрипт выглядит так:

#!/bin/bash
cd  /var/spool/mail/
for dir in $( ls ); do
/root/bin/mb2md -s /var/spool/mail/$dir -R -d /root/tmp/$dir
sleep 60
chown $dir.users /root/tmp/$dir/cur/*
chmod 600 /root/tmp/$dir/cur/*
sleep 60
dir2=$(getent passwd $dir |awk -F: '{print $6}')
echo "cp -a /root/tmp/$dir/cur/*  $dir2/Maildir/new/"
cp -av /root/tmp/$dir/cur/*  $dir2/Maildir/new/
done;
...