tt-rss/classes/ttrssmailer.php
derekmurawsky 1b2afd2bd3 Additions:
classes/trssmailer.php - Created class TTRSS mailer which extends phpmailer and sets the default mail settings upon instantiation. Class includes quickmail function that allows for a quick email send with no extra configurion necessary.

Changes:
config.php-dist - Added the smtp port option

include/digest.php - Converted it to use the new ttrrssmailer class

include/sanity_config.php - Added the smtp port option to the sanity check

plugins/mail/init.php - Modified to use ttrssmailer class. This particular configuration shows a hybrid use case.

register.php = Modified to use ttrssmailer class.

All code was tested and functioned on my local machine.
2013-03-22 16:25:12 -04:00

63 lines
No EOL
1.8 KiB
PHP

<?php
/* @class ttrssMailer
* @brief A TTRSS extension to the PHPMailer class
* Configures default values through the __construct() function
* @author Derek Murawsky
* @version .1 (alpha)
*
*/
require_once 'lib/phpmailer/class.phpmailer.php';
require_once "config.php";
class ttrssMailer extends PHPMailer {
//define all items that we want to override with defaults in PHPMailer
public $From = SMTP_FROM_ADDRESS;
public $FromName = SMTP_FROM_NAME;
public $CharSet = "UTF-8";
public $PluginDir = "lib/phpmailer/";
public $ContentType = "text/html"; //default email type is HTML
public $Host;
public $Port;
public $SMTPAuth=False;
public $Username;
public $Password;
function __construct() {
$this->SetLanguage("en", "lib/phpmailer/language/");
//if SMTP_HOST is specified, use SMTP to send mail directly
if (SMTP_HOST) {
$Host = SMTP_HOST;
$Mailer = "smtp";
}
//if SMTP_PORT is specified, assign it. Otherwise default to port 25
if(SMTP_PORT){
$Port = SMTP_PORT;
}else{
$Port = "25";
}
//if SMTP_LOGIN is specified, set credentials and enable auth
if(SMTP_LOGIN){
$SMTPAuth = true;
$Username = SMTP_LOGIN;
$Password = SMTP_PASSWORD;
}
}
/* @brief a simple mail function to send email using the defaults
* This will send an HTML email using the configured defaults
* @param $toAddress A string with the recipients email address
* @param $toName A string with the recipients name
* @param $subject A string with the emails subject
* @param $body A string containing the body of the email
*/
public function quickMail ($toAddress, $toName, $subject, $body, $altbody=""){
$this->addAddress($toAddress, $toName);
$this->Subject = $subject;
$this->Body = $body;
$rc=$this->send();
return $rc;
}
}
?>