linux: переслать почту в почтовый ящик

Можно ли пересылать почту из почтового ящика в другой почтовый ящик? Я знаю о.forward, это не то, что я хочу сделать (кажется, что это 100% ответов там). У меня уже есть почта в почтовом ящике, который я вижу. Я хочу переслать все это в другой почтовый ящик, который имеет.forward, который передает в сценарий, который записывает электронные письма в папки для записей.

Итак, вы видите, что у меня уже есть настройка переадресации, теперь я хочу пересылать почту из одного почтового ящика в другой, чтобы он мог пересылать свои входящие электронные письма в сценарий.

Признаюсь, причина в том, что скрипт какое-то время сломался, и теперь у меня в очереди эти письма. Я исправил скрипт, мне просто нужно переадресовать почту через.forward.

Надеюсь, я объяснил достаточно хорошо. Кажется, в почтовом приложении нет опции пересылки почты.

2 ответа

Решение

Вы можете использовать formail программа для подачи сообщений "один за другим" в почтовый файл в выбранную вами программу / скрипт.

Ниже вы найдете подробный пример использования formail -s ... обработать пользовательский системный почтовый ящик. Это предусмотрено в man procmail и заставляет procmail обрабатывать каждое сообщение в системном почтовом ящике.

#!/bin/sh

ORGMAIL=/var/mail/$LOGNAME

if cd $HOME &&
  test -s $ORGMAIL &&
  lockfile -r0 -l1024 .newmail.lock 2>/dev/null
then
  trap "rm -f .newmail.lock" 1 2 3 13 15
  umask 077
  lockfile -l1024 -ml
  cat $ORGMAIL >>.newmail &&
  cat /dev/null >$ORGMAIL
  lockfile -mu
  formail -s procmail <.newmail &&
  rm -f .newmail
  rm -f .newmail.lock
fi
exit 0

Используйте Mutt для этого. Откройте Mutt, выберите все письма, используя Shift+T.Enter (просто нажмите эти клавиши). Затем переслать их, используя ;b и введите адрес электронной почты для пересылки писем.

Это было самое простое решение, которое я нашел.

Другие вопросы по тегам