Адрес может быть задан в любой форме, воспринимаемой клиентами электронной почты включая doe@acme.org, <doe6acme.org>, John Doe <doe@acme.org> и doe@acme.org ; (John Doe).
При успешном выполнении этот метод возвращает истинное значение, в ином случае — значение undef. Для получения сообщения об ошибке может применяться унаследованный метод message().
Метод recipient() выдает на сервер команду RCPT. Параметры представляют собой список допустимых адресов электронной почты, по которым должна быть доставлена почта. За списком адресов может следовать ссылка на хеш, содержащий различные опции.
Все адреса, переданные методу recipient(), должны быть приемлемыми для сервера, поскольку в ином случае весь вызов возвратит ложное значение. Для изменения этого правила можно передать опцию SkipBad в хеше опций. В этом случав модуль проигнорирует адреса, отвергнутые сервером, и возвратит в качестве результата список принятых адресов.
Если сервер успешно принял адреса отправителя и получателя, можно приступить к отправке текста сообщения с использованием методов data(), datasend() и dataend(). После отправки вполне можно заняться и другими делами, например, установить видео программы для компьютера и наслаждаться игрой звука и цвета.
Метод data() выдает на сервер команду data. При вызове со скалярным параметром он передает значение параметра как содержимое (заголовок и тело) сообщения электронной почты. Если нужно отправить сообщение по частям, можно вызвать метод data(() без параметра и выполнить ряд вызовов метода datasend(). Метод data() возвращает значение, которое указывает на успешное или неудачное выполнение команды.