Отправка почты
Начнем с рассмотрения механизмов отправки почты, а затем перейдем к более сложным вопросам. Традиционный (для Unix) Perl-код для
отправки почты бывает похож на пример, включенный в список часто задаваемых вопросов:
#
считаем, что ser.dmail установлен
open(SENDMAIL. "|/usr/lib/sendmail -oi -t -oaq") or
die "Невозможно запустить процесс для sendTiaii:
$!\n"; print SENDMAIL «"EOF"; From: от кого <me\$host> To:
кому <you\@othernost> Subject: Тема сообщения
Тело сообщения следует после пустой строки и может состоять из любого
количества строк.
EOF
close(SENDMAIL) or warn "Невозможно закрыть sendmail ";
Когда в Perl 5 изменились правила интерполяции массивов (по сравнению с Perl 4), очень много сценариев, отправляющих почту, перестали работать. Даже сейчас будьте осторожны и следите за таким кодом:
Saddress = "fred@example.com";
Чтобы все работало верно, его надо заменить на одну из следующих строк:
$address="fred\@example.com";
$address='fred@example.com1;
$address= join('@', 'fred', 'example.com');
Код, вызывающий sendmail, как было в нашем примере, во многих случаях будет работать отлично, но если в операционной системе не установлен агент передачи почты с именем «sendmail» (например, в NT или MacOS), он не будет работать никогда. В таких операционных системах выбор действий невелик.
Получение sendmail (или иного агента передачи почты)
Если вы работаете на Win32, то вам повезло, т. к. я знаю по крайней мере о трех версиях sendmail, перенесенных под Win32:
www.sendmail.com
)Тем, кому нужно что-то менее тяжеловесное и кто хочет внести некоторые изменения в программу на Perl, чтобы поддержать различные аргументы командной строки, возможно, помогут достичь цели другие программы для Win32:
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий