<?php /* Question2Answer by Gideon Greenspan and contributors http://www.question2answer.org/ Description: Wrapper class for sending email notifications to users This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 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 General Public License for more details. More about this license: http://www.question2answer.org/license.php */ namespace Q2A\Notifications; use PHPMailer; class Mailer extends PHPMailer { public function __construct($params = array()) { parent::__construct(); self::$validator = 'php'; $this->CharSet = 'utf-8'; $this->From = $params['fromemail']; $this->Sender = $params['fromemail']; $this->FromName = $params['fromname']; $this->addAddress($params['toemail'], $params['toname']); if (!empty($params['replytoemail'])) { $this->addReplyTo($params['replytoemail'], $params['replytoname']); } $this->Subject = $params['subject']; $this->Body = $params['body']; if ($params['html']) { $this->isHTML(true); } if (qa_opt('smtp_active')) { $this->isSMTP(); $this->Host = qa_opt('smtp_address'); $this->Port = qa_opt('smtp_port'); if (qa_opt('smtp_secure')) { $this->SMTPSecure = qa_opt('smtp_secure'); } else { $this->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true, ), ); } if (qa_opt('smtp_authenticate')) { $this->SMTPAuth = true; $this->Username = qa_opt('smtp_username'); $this->Password = qa_opt('smtp_password'); } } } }