0

sendmail 中的错误更改已生成邮箱文件,而不是在 maildir 中写入电子邮件。我们已经回滚了更改,并且电子邮件现在可以很好地在邮箱中传递。但是,邮箱文件中的电子邮件仍然存在,我正在寻找一种方法来重新排列这些电子邮件,以便可以将它们传递到 maildir。

4

2 回答 2

0

最后,我使用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;
于 2020-05-11T00:49:16.833 回答
0

那里描述了另一种解决方案:http: //giantdorks.org/alain/resend-mail-thats-locally-stored-in-a-mbox-format-on-a-linux-box-to-a-working-email-地址/

它使用 formail 分离电子邮件并使用 sendmail 重新发送它们。

于 2020-05-11T01:16:13.040 回答