Forum Webscript.Ru

Программирование => Perl => Тема начата: Lion от 16 Марта 2002, 21:58:27

Название: sendmail
Отправлено: Lion от 16 Марта 2002, 21:58:27
Что тут не так:
#!/usr/bin/perl
$to="to\\@email.ru";
$from="from\\@email.ru";
open(MAIL, "|/usr/sbin/sendmail -t $to") || die ("blya");
print MAIL "From: $from\\n";
print MAIL "To: $to\\n";
print MAIL "Subject: test message\\n\\n";
print MAIL "TEST\\n";
close(MAIL);
print "Content-type: text/html\\n\\n";
print "Ok";

я предполагаю что этот скрипт на $to должен послать письмо, но почему-то нечего не отсылает...
Название: sendmail
Отправлено: YA от 16 Марта 2002, 22:05:51
Цитировать
open(MAIL, "|/usr/sbin/sendmail -t $to") || die ("blya");

А зачем здесь $to?
Название: sendmail
Отправлено: Lion от 16 Марта 2002, 22:15:49
Цитировать
А зачем здесь $to?

А разве сюда не надо вводить адрес получателя ?
В любом случае ничего не отсылает.
Название: sendmail
Отправлено: YA от 16 Марта 2002, 23:35:56
Цитировать
А разве сюда не надо вводить адрес получателя ?

Нет.
Цитировать
В любом случае ничего не отсылает.

А что в логах sendmail\'a?

Вот рабочий вариант:

open (MAIL, \'|/usr/sbin/sendmail -t\') or die ("...");
print MAIL "Content-type: text/plain; charset=$charset\\n";
print MAIL "Subject:$subject\\n";
print MAIL "To:$to\\n";
print MAIL "From:$from\\n\\n";
print MAIL "$text\\n";
print MAIL "\\n\\n";
close (MAIL);

Надо только путь к sendmail\'у проверить и переменные определить. Если не будет работать, значит либо sendmail умер, либо почтовый сервер адресата.