Метод open() открывает новое почтовое сообщение с указанными заголовками. Для таких вариантов отправки по почте, как “mail”, “sendmail” и “test", он может выполнить ветвление посредством функции fork() и вызвать на выполнение программу обработчика почты с помощью функции ехес, а затем вернуть канал, открытый в обработчик почты. Это также удобно, как использование сервиса по отправке e-mail и смс рассылок esputnik.ru . При использовании варианта “smtp” метод open( ) возвращает связанный дескриптор файла, который перехватывает вызовы функции print, а затем передает их методу datasend() модуля Net::SMTP. Возвращенный дескриптор файла аналогичен первоначальному объекту Mail::Mailer, поэтому его можно вполне использовать в качестве логического значения, которое указывает на успешный или неудачный вызов метода open().
Параметром метода open() является ссылка на хеш, ключами которого служат поля почтового заголовка, а значениями — скаляры, содержащие текст соответствующих полей или ссылки на массивы, которые входят в значения таких многозначных полей, как Сc или Тo. Этот формат совместим с методом header_hashref() класса Mail::Header.
From => ‘lstein@cshl.org’}) or die "cant open: $!";
После инициализации объекта в него можно вывести тело сообщения с использованием самого объекта в качестве дескриптора файла.
print $maliler "This is the first line of the mail, message. n";
После вывода тела сообщения необходимо вызвать метод close() объекта.
$mailer->close
Метод close() выполняет заключительные действия и отправляет сообщение.
В данном случае нельзя использовать встроенную функцию close() языка Perl, поскольку некоторые методы модуля Mail::Mailer требуют выполнения последующей обработки сообщения перед его отправкой.