summaryrefslogtreecommitdiff
path: root/app/frontend/mail/Mailer.php
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-11-01 00:20:05 +0100
committeremkael <emkael@tlen.pl>2016-11-01 00:20:05 +0100
commiteb322a1a61237035718214ab4a1fce67c232262f (patch)
tree03df03233f86ae862e0c588617cb9f167cb04631 /app/frontend/mail/Mailer.php
parent6181693f1d4b021da8a699c19f5323a17ffab1de (diff)
* PHPMailer-based mailer module
Diffstat (limited to 'app/frontend/mail/Mailer.php')
-rw-r--r--app/frontend/mail/Mailer.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/app/frontend/mail/Mailer.php b/app/frontend/mail/Mailer.php
new file mode 100644
index 0000000..327c9af
--- /dev/null
+++ b/app/frontend/mail/Mailer.php
@@ -0,0 +1,41 @@
+<?php
+
+Prado::using('Lib.phpmailer.PHPMailerAutoload');
+Prado::using('Application.mail.MailTemplate');
+
+class Mailer extends PHPMailer {
+
+ public function __construct() {
+ $this->isSMTP();
+ $this->SMTPAuth = TRUE;
+ }
+
+ public function configure($config) {
+ $this->Host = $config->smtp->host;
+ $this->Port = $config->smtp->port;
+ $this->Username = $config->smtp->user;
+ $this->Password = $config->smtp->pass;
+ if ($config->smtp->tls) {
+ $this->SMTPSecure = 'tls';
+ }
+ $this->setFrom($config->mail->from, $config->mail->name);
+ if ($config->mail->send_copies) {
+ $this->addBCC($config->mail->from);
+ }
+ }
+
+ public function sendTemplate(MailTemplate $template, $subject, $to, $name) {
+ $this->addAddress($to, $name);
+ $this->isHTML(TRUE);
+ $this->Subject = $subject;
+ $html = $template->execute();
+ $this->Body = $html;
+ $this->AltBody = strip_tags($html);
+ $result = $this->send();
+ $this->clearAddresses();
+ return $result;
+ }
+
+}
+
+?>