* * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 * * This code is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License, version 3, * along with this program. If not, see * */ namespace OCP\Mail; use OC\Mail\Message; /** * Class IMailer provides some basic functions to create a mail message that can be used in combination with * \OC\Mail\Message. * * Example usage: * * $mailer = \OC::$server->getMailer(); * $message = $mailer->createMessage(); * $message->setSubject('Your Subject'); * $message->setFrom(array('cloud@domain.org' => 'ownCloud Notifier'); * $message->setTo(array('recipient@domain.org' => 'Recipient'); * $message->setBody('The message text'); * $mailer->send($message); * * This message can then be passed to send() of \OC\Mail\Mailer * * @package OCP\Mail */ interface IMailer { /** * Creates a new message object that can be passed to send() * * @return Message */ public function createMessage(); /** * Send the specified message. Also sets the from address to the value defined in config.php * if no-one has been passed. * * @param Message $message Message to send * @return string[] Array with failed recipients. Be aware that this depends on the used mail backend and * therefore should be considered * @throws \Exception In case it was not possible to send the message. (for example if an invalid mail address * has been supplied.) */ public function send(Message $message); /** * Checks if an e-mail address is valid * * @param string $email Email address to be validated * @return bool True if the mail address is valid, false otherwise */ public function validateMailAddress($email); }