Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Файл .procmailrc |
Что касается web-а... WebMaster-а Воронежа - объединяйтесь! |
|
Опции темы |
26.01.2004, 11:10 | #1 |
Форумец
Сообщений: 13
Регистрация: 26.01.2004
Не в сети |
Файл .procmailrc
Имеется почтовый адрес [email protected] и PERL скрипт script.cgi, который находится в /home/login/public_html/cgi-bin/script.cgi
Вопрос: как правильно прописать файл .procmailrc, чтобы почта, направленная по адресу [email protected], передавалась на обработку скрипту script.cgi ? Вот так? :0 * ^[email protected] | /home/login/public_html/cgi-bin/script.cgi Поправьте меня, пожалуйста, если неправильно. Что-то у меня сомнение в последней строке. |
26.01.2004, 11:40 | #2 |
Форумец
Сообщений: 791
Регистрация: 09.01.2003
Не в сети |
Если в первой строке под ^TO_ подразумевается ^TO с пробелом, то все нормально.
|
29.01.2004, 08:34 | #3 | |
Форумец
Сообщений: 13
Регистрация: 26.01.2004
Не в сети |
Цитата:
Если точно, то файл выглядит так: :0 * ^To: [email protected] | /home/login/public_html/cgi-bin/script.cgi но все равно не работает. Почта на [email protected] приходит напрямую, минуя скрипт. Интересно, а как вообще "уживаются" файлы .forward и .procmailrc ? Дело в том, что у меня для другого скрипта используется файл .forward Он выглядит так: \login,"|/usr/bin/perl /home/login/public_html/cgi-bin/script1.pl" и работает нормально. Этот файл всю приходящую на домен почту передает script1.pl Вот я и думаю: " А какой же файл перенаправляет почту первым?" Если .forward, то можно ли сделать так, чтобы он перенаправлял всю почту кроме [email protected] ? А [email protected] перенаправлял .procmailrc ? Или можно как-то по-другому, например, обойтись одним из этих файлов? Да, и еще. В каком-то любительском описании .procmailrc я видел что-то подобное: :0 * ^To: [email protected] |/usr/bin/perl /home/login/public_html/cgi-bin/script.cgi Может все-таки нужно добавить /usr/bin/perl ? |
|
29.01.2004, 14:35 | #4 |
Форумец
Сообщений: 13
Регистрация: 26.01.2004
Не в сети |
Почитал еще литературу, кое-что прояснилось. Вот что я понял:
1. Вот такой .procmailrc должен точно работать :0 * ^To.*[email protected] | /home/login/public_html/cgi-bin/script.cgi 2. Чтобы он заработал необходимо в .forward прописать что-то типа "|IFS=' ';exec /usr/local/bin/procmail USER=login" Но возникла проблема, как "вписать" это уже в работающий .forward Попробовал вот так \login,"|/usr/bin/perl /home/login/public_html/cgi-bin/script1.pl","|IFS=' ';exec /usr/local/bin/procmail USER=login" не работает. Видимо, где-то ошибся. Есть какие мысли на этот счет? |
29.01.2004, 14:53 | #5 |
Форумец
Сообщений: 791
Регистрация: 09.01.2003
Не в сети |
Насколько я понял, script.cgi сам ничего не делает. В этом случае вариантов два.
1) Подсунуть его исполняющей программе (в даном случае перлу), т. е. как ты сам сказал, сделать в .procmailrc /usr/bin/perl /home/login/public_html/cgi-bin/script.cgi 2) сделать скрипт /home/login/public_html/cgi-bin/script.cgi исполняемым (его будет исполнять шелл), а в самом начале первой строкой вписать #!/usr/bin/perl -w Shell запустит /usr/bin/perl и подсунет ему остальной скрипт. |