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

Исходное сообщение
"Скрипт проверки почты"

Отправлено Denis , 05-Июн-01 12:50 
Посоветуйте скрипт проверки почты на Perl или PHP.

Нужно, чтобы при запуске он проверял почту и  в случае ее наличия отсылал уведомление на SMS или другой майл.


Содержание

Сообщения в этом обсуждении
"RE: Скрипт проверки почты"
Отправлено Andrey , 05-Июн-01 20:36 
Смотри размер /var/mail/$user на предмет отличия от нуля.

"RE(2): Скрипт проверки почты"
Отправлено Denis , 06-Июн-01 16:24 
>Смотри размер /var/mail/$user на предмет отличия
>от нуля.

Легко сказать. Я изменить скрипт смогу, а вот написать его нет. Ну разве столько стандартный Hello, World! Если не сложно, исходним дайте пожалуйста. Надо следующее. Скрипт запускается, смотрит почту, если ее видит, высылает стандартное сообщение на указанный e-mail и успокаивается. Если он сможет еще отличать новую почту от старой, лежащей на сервере и отсылать уведомления по каждому письму, то ему цены просто не будет.


==
С искренним уважением,
Денис


"RE: Скрипт проверки почты"
Отправлено XMan , 06-Июн-01 19:19 
Может проще не писать свое и вешать его в крон, а по procmail доку почитать ? :))
Я бы так и сделал...

Или ты не являешься админом системы ?


"RE: Скрипт проверки почты"
Отправлено Denis , 06-Июн-01 23:56 
>Может проще не писать свое и
>вешать его в крон, а
>по procmail доку почитать ?
>:))
>Я бы так и сделал...
>
>Или ты не являешься админом системы
>?


:-(

Есть веб-сервер. Есть куча e-mail'ов. Один из них службы поддержки. Чтобы не проверять почту в почтовом клиенте каждые десять минут круглосуточно хотелось-бы делать это с помощью скрипта запускаемого CRON. Если есть возможность, исходник или линк на скрипт, будьте любезны, дайте пожалуйста.


"RE: Скрипт проверки почты"
Отправлено XMan , 07-Июн-01 01:30 
Ну как хотите...
1. Скрипт для крона, который проверяет размер файла /var/spool/mail/USER и шлет сообщение на SMS_USER@sms.server.com, если размер не нулевой:

#!/bin/sh
if [ -s /var/spool/mail/USER ]; then
  echo "Incoming mail !" | /usr/bin/mail -s "Mail received !" SMS_USER@sms.server.com
fi


2. Строки для проверки procmail'ом. Как только появится новое письмо, будет отправлено аналогичное предыдущему сообщение. Без крона и только один раз для одного письма:

:0
* ^To:.*USER@хост.домен*
|cat >>/var/spool/mail/USER; echo "Incoming mail !" | /usr/bin/mail -s "Mail received !" SMS_USER@sms.server.com

где "хост.домен" - то , что идет после @ в адресе.
Каталог с почтовыми ящиками может различаться в разных unix-like системах. У меня в linux это /var/spool/mail

Вот, собственно... Выбирайте :))

PS. Чем хорош procmail - тем что он обычно в любом случае запускается sendmail'ом при получении любого письма для разбора входящей почты.
PS2. Набросано за пару минут, но должно работать.


"RE: Скрипт проверки почты"
Отправлено Dima , 11-Июл-01 23:40 
А если хочешь то на перле.
используя модуль Net::POP3
и Mail::Send;
а потом если наличие почты имеется, то пишешь письмо вида
mail_send("Что хочешь то и пишешь");

sub mail_send{
my ($from_address) = "name@adress.com";
my ($subject) = "Mail";
my ($to_address) = "mail@mail.com";
$messages .=$_[0];
$msg = new Mail::Send
  Subject => $subject,
  To => $to_address;
  $msg->set('From',$from_address);
  $fn = $msg->open('sendmail') or die "Can't open: $!\n";
  print $fn $messages;
  $fn->close();
}

Для практики полезно написать на чем угодно %)
Мне больше перл нравится.


"Скрипт проверки почты"
Отправлено Евгений , 05-Окт-05 16:44 
>Посоветуйте скрипт проверки почты на Perl или PHP.
>
>Нужно, чтобы при запуске он проверял почту и  в случае ее
>наличия отсылал уведомление на SMS или другой майл.


Сейчас займусь написанием данного скрипта для себя :)