URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86326
[ Назад ]

Исходное сообщение
"Удалениние почты с внешних ящиков"

Отправлено Dark Smoke , 18-Авг-09 22:53 
Добрый день.
Поставили задачу. Удалять почту с 15 внешних ящиках. Как это можно автоматизировать? Под руками FreeBSD и любые скрипты (но их нет)?
Посоветуйете, господа гуру, как быть?

Содержание

Сообщения в этом обсуждении
"Удалениние почты с внешних ящиков"
Отправлено Gerk , 18-Авг-09 23:07 
fetchmail? or via ssh


"Удалениние почты с внешних ящиков"
Отправлено Dark Smoke , 18-Авг-09 23:32 
>fetchmail? or via ssh

пробовал...
но там вопрос, как его настроить. Я его запускаю и мне пишет :
#fetchmail
fetchmail: ПРЕДУПРЕЖДЕНИЕ: Запуск под root'ом не приветствуется.
сбой gethostbyname для ServerPapirus
hostname nor servname provided, or not knownНевозможно найти свой собственный хост в базе данных хостов, чтобы определить его!
Пытаемся продолжить с неопределённым именем хоста.
НЕ СООБЩАЙТЕ о нарушенных заголовках Received:, строках HELO/EHLO или подобных проблемах!
Вместо этого ИСПРАВЬТЕ свой /etc/hosts, DNS, NIS или LDAP.
fetchmail: не были указаны почтовые серверы.


"Удалениние почты с внешних ящиков"
Отправлено Gerk , 18-Авг-09 23:46 
а гугл на что? там конфиг и сама настройка очень простая :-)
http://www.lissyara.su/?id=1433 посмотрите к примеру....
А еще лучше официальную документаци почитать...

"Удалениние почты с внешних ящиков"
Отправлено Dark Smoke , 19-Авг-09 09:09 
>http://www.lissyara.su/?id=1433 посмотрите к примеру....

Эту статью и читал.
Есть проблемы:
1. Можно ли сделать что бы fetchmail не куда почту не складывал - она мне не нужна.
2. выдвет ошибку
# fetchmail
fetchmail: ПРЕДУПРЕЖДЕНИЕ: Запуск под root'ом не приветствуется.
fetchmail: не были указаны почтовые серверы.


"Удалениние почты с внешних ящиков"
Отправлено angra , 19-Авг-09 04:56 
Научится задавать правильно вопросы для начала. Я могу сходу предположить 5 вариантов того, что подходит под "Удалять почту с 15 внешних ящиках":
1. ящик является доступным для внешнего мира, сервер ваш, прямой доступ к файлам/базе
2. ящик является доступным для внешнего мира, сервер ваш, но доступ через pop/imap
3. ящик находится на внешнем сервере, доступ по POP, задача удалить не забирая
4. ящик находится на внешнем сервере, доступ по IMAP, задача переместить в trash
5. ящик находится на внешнем сервере, доступ по IMAP, задача удалить полностью

"Удалениние почты с внешних ящиков"
Отправлено Dark Smoke , 19-Авг-09 09:09 
Ящики находятся на внешних серверах, протокол POP3.

"Удалениние почты с внешних ящиков"
Отправлено angra , 20-Авг-09 17:47 
Рекомендую http://search.cpan.org/~gbarr/libnet-1.22/Net/POP3.pm даже без малейшего знания perl из synopsis должно быть понятно как получить результат :)

Но на всякий случай пример
#!/usr/bin/perl -w
use strict;
use Net::POP3;

my @boxes=(['host1', 'user1', 'passwd1'],);#заполните массив
foreach my $box (@boxes) {
  my $pop = Net::POP3->new($box->[0]);
  if ($pop->login($box->[1],$box->[2])>0) {
    my $msges = $pop->list;
    $pop->delete($_) foreach keys %$msges;
  } else {
    print "Can't login to @$box\n";
  }
}


"Удалениние почты с внешних ящиков"
Отправлено Dark Smoke , 20-Авг-09 20:43 
А расшифруй этистроки плз, особенно вторую

use strict;
use Net::POP3;


"Удалениние почты с внешних ящиков"
Отправлено angra , 20-Авг-09 20:53 
Подключить модуль Net::POP3, ЕМНИП идет в дефолтном наборе, в крайнем случае можно доставить отдельно. На всякий случай уточню, что выше был дан набросок скрипта, а не команды для выполнения в шелле.



"Удалениние почты с внешних ящиков"
Отправлено Andrey Mitrofanov , 01-Сен-09 15:25 
>Ящики находятся на внешних серверах, протокол POP3.

У меня с одного pop3 ящика fetchmail-ом вот такой фрагмент удаляет:

echo "\
poll $SERVER proto POP3 timeout 1800 \
auth password user $USR password $PSS \
limit 1 limitflush batchlimit 1 expunge 100 \
bsmtp - nokeep fetchall" \
| fetchmail -v -f - >>file.log 2>&1 &

Несколько ящиков - или цикл на шеле или длинная "конфигурация" о нескольких user-ах.