nhance/app/Helpers/MailHelper.php
2024-05-11 14:20:38 +05:30

75 lines
1.9 KiB
PHP

<?php
namespace App\Helpers;
use Psr\Log\LoggerInterface;
use App\Controllers\BaseController;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;
use App\Models\JobModel;
class MailHelper
{
public static function send_email($params)
{
$emaill = $params['mail'];
$subject = $params['subject'];
$message = $params['message'];
$cc = $params['cc'];
try {
$email = \Config\Services::email();
$email->setMailType('html');
$email->setFrom('bbone@venbait.in', 'Nhance');
$email->setTo($emaill);
$ccList = explode(',', $cc);
// if (empty($cc)) {
$email->setCC($cc);
// }
$email->setSubject($subject);
$email->setMessage($message);
if ($email->send()) {
return json_encode(['status' => 'success','code' => 200, 'message'=>'Email Sent Successfully...','data' => $emaill,],200);
} else {
return json_encode(['status' => 'failed','code' => 404,'message'=>'Email Sent Failed...','data' => $emaill ],404);
}
} catch (Exception $e) {
return json_encode(['status' => 'failed','code' => 500,'data' => $emaill],500);
}
}
public static function bulk_mail(array $mails = [])
{
// print_r();die;
$model = new JobModel();
$start = microtime(true);
$runtime= 0;
try {
foreach ( $mails as $index=>$mail) {
$runtime = microtime(true) - $start;
$send_mail = self::send_email($mail);
}
return json_encode(['status' => 'success','code' => 200, 'message'=>'Email Sent Successfully...'],200);
} catch (\Throwable $th) {
return json_encode(['status' => 'failed','code' => 500],500);
}
}
}
?>