Adding swift mailer
This commit is contained in:
@@ -84,7 +84,7 @@ abstract class EmailSender
|
||||
$body = str_replace("#_".$k."_#", $v, $body);
|
||||
}
|
||||
|
||||
$fromEmail = APP_NAME." <".$this->settings->getSetting("Email: Email From").">";
|
||||
$fromEmail = $this->settings->getSetting("Email: Email From");
|
||||
|
||||
//Convert to an html email
|
||||
$emailBody = file_get_contents(APP_BASE_PATH.'/templates/email/emailBody.html');
|
||||
@@ -110,7 +110,7 @@ abstract class EmailSender
|
||||
$emailBody = str_replace("#_".$k."_#", $v, $emailBody);
|
||||
}
|
||||
|
||||
return $this->sendMail($subject, $emailBody, $toEmail, $fromEmail, $user->email, $ccList, $bccList);
|
||||
return $this->sendMail($subject, $emailBody, $toEmail, $fromEmail, $user->email, $ccList, $bccList, APP_NAME);
|
||||
}
|
||||
|
||||
public function sendEmailWithoutWrap($subject, $toEmail, $template, $params, $ccList = array(), $bccList = array())
|
||||
@@ -156,7 +156,8 @@ abstract class EmailSender
|
||||
$fromEmail,
|
||||
$replyToEmail = null,
|
||||
$ccList = array(),
|
||||
$bccList = array()
|
||||
$bccList = array(),
|
||||
$fromName = null
|
||||
);
|
||||
|
||||
public function sendResetPasswordEmail($emailOrUserId)
|
||||
|
||||
@@ -25,10 +25,16 @@ class PHPMailer extends EmailSender
|
||||
$fromEmail,
|
||||
$replyToEmail = null,
|
||||
$ccList = array(),
|
||||
$bccList = array()
|
||||
$bccList = array(),
|
||||
$fromName = null
|
||||
) {
|
||||
|
||||
try {
|
||||
|
||||
if ($fromName) {
|
||||
$fromEmail = $fromName." <".$fromEmail.">";
|
||||
}
|
||||
|
||||
if (empty($replyToEmail)) {
|
||||
$replyToEmail = $fromEmail;
|
||||
}
|
||||
@@ -46,13 +52,8 @@ class PHPMailer extends EmailSender
|
||||
}
|
||||
$headers .= 'ReplyTo: ' . $replyToEmail . "\r\n";
|
||||
$headers .= 'Ice-Mailer: PHP/' . phpversion();
|
||||
|
||||
// Mail it
|
||||
$res = mail($toEmail, $subject, $body, $headers);
|
||||
|
||||
LogManager::getInstance()->info("PHP mailer result : " . $res);
|
||||
|
||||
return $res;
|
||||
|
||||
return mail($toEmail, $subject, $body, $headers);
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error("Error sending email:" . $e->getMessage());
|
||||
return false;
|
||||
|
||||
@@ -25,7 +25,8 @@ class SMTPEmailSender extends EmailSender
|
||||
$fromEmail,
|
||||
$replyToEmail = null,
|
||||
$ccList = array(),
|
||||
$bccList = array()
|
||||
$bccList = array(),
|
||||
$fromName = ''
|
||||
) {
|
||||
|
||||
try {
|
||||
@@ -76,9 +77,10 @@ class SMTPEmailSender extends EmailSender
|
||||
$mail = $smtp->send($toEmail, $headers, $body);
|
||||
if (\PEAR::isError($mail)) {
|
||||
LogManager::getInstance()->info("SMTP Error Response:" . $mail->getMessage());
|
||||
return false;
|
||||
}
|
||||
|
||||
return $mail;
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error("Error sending email:" . $e->getMessage());
|
||||
return false;
|
||||
|
||||
@@ -31,10 +31,15 @@ class SNSEmailSender extends EmailSender
|
||||
$fromEmail,
|
||||
$replyToEmail = null,
|
||||
$ccList = array(),
|
||||
$bccList = array()
|
||||
$bccList = array(),
|
||||
$fromName = null
|
||||
) {
|
||||
|
||||
try {
|
||||
if ($fromName) {
|
||||
$fromEmail = $fromName." <".$fromEmail.">";
|
||||
}
|
||||
|
||||
if (empty($replyToEmail)) {
|
||||
$replyToEmail = $fromEmail;
|
||||
}
|
||||
@@ -57,7 +62,6 @@ class SNSEmailSender extends EmailSender
|
||||
)
|
||||
);
|
||||
|
||||
//$response = $this->ses->sendEmail($fromEmail, $toArray, $message);
|
||||
$response = $this->ses->sendEmail(
|
||||
array(
|
||||
'Source' => $fromEmail,
|
||||
@@ -70,7 +74,7 @@ class SNSEmailSender extends EmailSender
|
||||
|
||||
LogManager::getInstance()->info("SES Response:" . print_r($response, true));
|
||||
|
||||
return $response;
|
||||
return true;
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error("Error sending email:" . $e->getMessage());
|
||||
return false;
|
||||
|
||||
64
src/Classes/Email/SwiftMailer.php
Normal file
64
src/Classes/Email/SwiftMailer.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
namespace Classes\Email;
|
||||
|
||||
use Utils\LogManager;
|
||||
|
||||
class SwiftMailer extends EmailSender
|
||||
{
|
||||
|
||||
public function __construct($settings)
|
||||
{
|
||||
parent::__construct($settings);
|
||||
}
|
||||
|
||||
protected function sendMail(
|
||||
$subject,
|
||||
$body,
|
||||
$toEmail,
|
||||
$fromEmail,
|
||||
$replyToEmail = null,
|
||||
$ccList = array(),
|
||||
$bccList = array(),
|
||||
$fromName = null
|
||||
) {
|
||||
|
||||
try {
|
||||
if (empty($replyToEmail)) {
|
||||
$replyToEmail = $fromEmail;
|
||||
}
|
||||
|
||||
LogManager::getInstance()->info("Sending email to: " . $toEmail . "/ from: " . $fromEmail);
|
||||
|
||||
$host = $this->settings->getSetting("Email: SMTP Host");
|
||||
$username = $this->settings->getSetting("Email: SMTP User");
|
||||
$password = $this->settings->getSetting("Email: SMTP Password");
|
||||
$port = $this->settings->getSetting("Email: SMTP Port");
|
||||
|
||||
if (empty($port)) {
|
||||
$port = '25';
|
||||
}
|
||||
$transport = new \Swift_SmtpTransport($host, $port);
|
||||
$mail = new \Swift_Message();
|
||||
|
||||
if ($this->settings->getSetting("Email: SMTP Authentication Required") === "1") {
|
||||
$transport->setUsername($username);
|
||||
$transport->setPassword($password);
|
||||
}
|
||||
|
||||
$mail->addFrom($fromEmail, $fromName);
|
||||
$mail->addReplyTo($replyToEmail);
|
||||
$mail->addTo($toEmail);
|
||||
$mail->setSubject($subject);
|
||||
$mail->setCc($ccList);
|
||||
$mail->setBcc($bccList);
|
||||
$mail->setBody($body);
|
||||
|
||||
$mailer = new \Swift_Mailer($transport);
|
||||
return $mailer->send($mail);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error("Error sending email:" . $e->getMessage());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -98,16 +98,17 @@ class UsersActionManager extends SubActionManager
|
||||
$ok = $user->Save();
|
||||
if (!$ok) {
|
||||
LogManager::getInstance()->info($user->ErrorMsg()."|".json_encode($user));
|
||||
return new IceResponse(IceResponse::ERROR, "Error occured while saving the user");
|
||||
return new IceResponse(IceResponse::ERROR, "Error occurred while saving the user");
|
||||
}
|
||||
$user->password = "";
|
||||
$user = $this->baseService->cleanUpAdoDB($user);
|
||||
|
||||
$mailResponse = false;
|
||||
if (!empty($this->emailSender)) {
|
||||
$usersEmailSender = new UsersEmailSender($this->emailSender, $this);
|
||||
$usersEmailSender->sendWelcomeUserEmail($user, $password, $employee);
|
||||
$mailResponse = $usersEmailSender->sendWelcomeUserEmail($user, $password, $employee);
|
||||
}
|
||||
return new IceResponse(IceResponse::SUCCESS, $user);
|
||||
return new IceResponse(IceResponse::SUCCESS, [$user, $mailResponse]);
|
||||
}
|
||||
return new IceResponse(IceResponse::ERROR, "Not Allowed");
|
||||
}
|
||||
|
||||
@@ -42,10 +42,12 @@ class UsersEmailSender
|
||||
if (!empty($emailTo)) {
|
||||
if (!empty($this->emailSender)) {
|
||||
LogManager::getInstance()->info("[sendWelcomeUserEmail] sending email to $emailTo : ".$email);
|
||||
$this->emailSender->sendEmail("Your IceHrm account is ready", $emailTo, $email, $params);
|
||||
return $this->emailSender->sendEmail("Your IceHrm account is ready", $emailTo, $email, $params);
|
||||
}
|
||||
} else {
|
||||
LogManager::getInstance()->info("[sendWelcomeUserEmail] email is empty");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user