Отправляет email-рассылки с помощью сервиса Sendsay

сохранение вложений почтовых сообщений без участия человека

Обновления некоторой базы получаем как вложения в почтовые сообщения.
Сейчас приходится вручную открывать письма и сохранять вложения на диск.
Есть ли способ автоматизировать процесс? Например скрипт периодически
просматривает почту и из новых сообщений все вложения сохраняет в
указанное место?
При помощи mutt подозреваю такое возможно, но где бы почитать подробное
описание как это настроить?

Спасибо!

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37216; Возраст листа: 2670; Участников: 1379
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/1287257

Ответить   Mon, 15 Nov 2010 09:19:48 +0300 (#1287257)

 

Ответы:

fetchmail+procmail+ripmime

2010/11/15 avm7work <avm7wo***@m*****.ru>:

Ответить   Mon, 15 Nov 2010 16:52:11 +1000 (#1287299)

 

Использую скрипт на perl. Здесь часть, которая просто сохраняет вложения в
заданной папке. Если у вас 1С, то могу написать продолжение. У меня идет
проверка почтового ящика, сохранение вложений и автоматический обмен данных
между удаленными базами.
Если письма с сервера удалять не нужно, уберите соответствующую строчку.

#!/usr/bin/perl -w
use Net::POP3;
use MIME::Parser;

my $server_name = "имя почтового сервера";
my $pop3 = Net::POP3->new($server_name, Timeout => 60);
my $user_name = 'имя пользователя';
my $user_pass = "пароль";

my $tot_msg = $pop3->login($user_name, $user_pass);
my $pars = new MIME::Parser;

# Объявляем папку для парсинга вложений
$pars->output_dir("/путь/имя папки");
my $msgs = $pop3->list;
foreach (keys %$msgs){
# Получаем в массив @mail очередное письмо
my @mail=$pop3->get($_);
# Натравливаем парсинг на очередное письмо
my $entity=$pars->parse_data(@mail);
# Помечаем письмо для удаления на сервере
$pop3->delete($_);
}
# Следующая команда удалит письма, помеченные на удаление
$pop3 -> quit;

15 ноября 2010 г. 13:19 пользователь avm7work <avm7wo***@m*****.ru> написал:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37218; Возраст листа: 2670; Участников: 1379
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/1287387

Ответить   Mon, 15 Nov 2010 14:38:39 +0700 (#1287387)

 

Александр Горячкин пишет:

То, что нужно. В самую точку! Спасибо большое!

Немного переделал скрипт для работы через IMAP (чтобы обрабатывал только
не прочитанные, в POP3 не нашел такой возможности).

#!/usr/bin/perl -w
use Net::IMAP::Simple;
use MIME::Parser;

my $server_name = "имя почтового сервера";
my $server = new Net::IMAP::Simple($server_name);
my $user_name = 'имя пользователя';
my $user_pass = "пароль";

$server->login($user_name, $user_pass);

my $pars = new MIME::Parser;
# Объявляем папку для парсинга вложений
$pars->output_dir("/путь/имя папки");

my $number_of_messages = $server->select( 'Inbox' );
print "Количество сообщений в папке ".$number_of_messages."\n";

# go through all the messages in the selected folder
foreach $msg ( 1..$number_of_messages ) {
if ( $server->seen( $msg )) {
print "Это сообщение уже прочитано...\n"
} else {
<------>print "Сохраняем вложения...\n";
<------># Получаем в массив @mail очередное письмо
<------>my @mail=$server->get($msg);
<------># Натравливаем парсинг на очередное письмо
<------>my $entity=$pars->parse_data(@mail);
}
}

# Следующая команда удалит письма, помеченные на удаление
$server -> quit;

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 37219; Возраст листа: 2673; Участников: 1377
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/1293641

Ответить   Thu, 18 Nov 2010 11:11:03 +0300 (#1293641)