Метод datasend(). После вызова метода data() без параметра можно вызвать метод datasend() один или несколько раз для отправки строк текста сообщения электронной почты на сервер. Строки, начинающиеся с точки, автоматически маскируются, чтобы передача не была прервана преждевременно.
При желании можно вызвать метод datasend() со ссылкой на массив. И данный метод, и метод dataend() унаследованы от базового класса Net::Cmd.
После отправки сообщения электронной почты необходимо вызвать метод dataend(), чтобы передать заключительную точку. Если сообщение принято к отправке, метод возвращает истинное значение.
Для выполнения более сложных операций взаимодействия с серверами SMTP могут применяться следующие два метода, reset и verify.
Метод reset() отправляет на сервер команду RSET, аварийно прекращая выполняемую операцию передачи почтового сообщения. Данный метод можно вызвать, если один из получателей отвергнут сервером; он переводит сервер в исходное состояние, чтобы можно было сделать еще одну попытку.
Методы expand() и verify() могут применяться для проверки того, является ли адрес получателя действительным, прежде чем послать сообщение электронной почты; если указанный адрес принят сервером, метод verify() возвращает истинное значение.
Метод expand() выполняет нечто более интересное. Если адрес является действительным, метод разворачивает его в один или несколько псевдонимов, при условии, что они существуют. Это применяться для выявления адресов перенаправления и имен получателей списка рассылки, Данный метод возвращает список псевдонимов; если указанный адрес является недействительным - пустой список. В целях защиты многие администраторы электронной почты отменяют это новшество, и в таком случае метод всегда возвращает пустой список.
И наконец, закончив работу с сервером, следует вызвать метод quit(). Этот метод корректно разрывает соединение с сервером.