Посоветуйте скрипт проверки почты на Perl или PHP.Нужно, чтобы при запуске он проверял почту и в случае ее наличия отсылал уведомление на SMS или другой майл.
Смотри размер /var/mail/$user на предмет отличия от нуля.
>Смотри размер /var/mail/$user на предмет отличия
>от нуля.Легко сказать. Я изменить скрипт смогу, а вот написать его нет. Ну разве столько стандартный Hello, World! Если не сложно, исходним дайте пожалуйста. Надо следующее. Скрипт запускается, смотрит почту, если ее видит, высылает стандартное сообщение на указанный e-mail и успокаивается. Если он сможет еще отличать новую почту от старой, лежащей на сервере и отсылать уведомления по каждому письму, то ему цены просто не будет.
==
С искренним уважением,
Денис
Может проще не писать свое и вешать его в крон, а по procmail доку почитать ? :))
Я бы так и сделал...Или ты не являешься админом системы ?
>Может проще не писать свое и
>вешать его в крон, а
>по procmail доку почитать ?
>:))
>Я бы так и сделал...
>
>Или ты не являешься админом системы
>?
:-(Есть веб-сервер. Есть куча e-mail'ов. Один из них службы поддержки. Чтобы не проверять почту в почтовом клиенте каждые десять минут круглосуточно хотелось-бы делать это с помощью скрипта запускаемого CRON. Если есть возможность, исходник или линк на скрипт, будьте любезны, дайте пожалуйста.
Ну как хотите...
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. Набросано за пару минут, но должно работать.
А если хочешь то на перле.
используя модуль 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();
}Для практики полезно написать на чем угодно %)
Мне больше перл нравится.
>Посоветуйте скрипт проверки почты на Perl или PHP.
>
>Нужно, чтобы при запуске он проверял почту и в случае ее
>наличия отсылал уведомление на SMS или другой майл.
Сейчас займусь написанием данного скрипта для себя :)