bb_sign/app/Helpers/MailHelper.php
2024-07-15 16:29:14 +05:30

142 lines
5.2 KiB
PHP

<?php
namespace App\Helpers;
class MailHelper
{
public static function send_otp_email($email_id, $otp)
{
$subject = 'BB-Sign Verify Document';
$message = "Hai,
<br>
We have a requested forgot password OTP: " . $otp;
try {
$email = \Config\Services::email();
$email->initialize([
'protocol' => $config['protocol'],
'SMTPHost' => $config['SMTPHost'],
'SMTPUser' => $config['SMTPUser'],
'SMTPPass' => $config['SMTPPass'],
'SMTPPort' => $config['SMTPPort'],
// 'mailType' => $config['mailType']
]);
// $email->setFrom($config['sender_email'], $config['sender_name']);/
$email->setMailType('html');
$email->setFrom('bbone@venbait.in', 'BB-Sign');
$email->setTo($email_id);
$email->setSubject($subject);
$email->setMessage($message);
// $email->setMailType('html');
// $email->setFrom('bbone@venbait.in', 'BB-Sign');
// $email->setTo($email_id);
// $email->setSubject($subject);
// $email->setMessage($message);
if ($email->send()) {
return ['status' => 'success', 'code' => 200, 'message' => 'Email Sent Successfully...', 'data' => $email_id];
} else {
return ['status' => 'failed', 'code' => 404, 'message' => 'Email Sent Failed...', 'data' => $email_id];
}
} catch (\Exception $e) {
return ['status' => 'failed', 'code' => 500, 'message' => 'Exception: ' . $e->getMessage(), 'data' => $email_id];
}
}
public static function send_url_email($email_id, $branch_email, $subject, $message, $mail_config = [])
{
// print_r("helllo");die;
// try {
$default_config = [
'protocol' => 'smtp',
'SMTPHost' => 'mail.venbait.in',
'SMTPUser' => 'bbone@venbait.in',
'SMTPPass' => 'xk!L(N_-R#};',
'SMTPPort' => 465,
'mailType' => 'html',
'sender_email' => 'bbone@venbait.in',
'sender_name' => 'BB-Sign'
];
// Merge default config with provided config
$config = array_merge($default_config, $mail_config);
$email = \Config\Services::email();
$email->initialize([
'protocol' => $config['protocol'],
'SMTPHost' => $config['SMTPHost'],
'SMTPUser' => $config['SMTPUser'],
'SMTPPass' => $config['SMTPPass'],
'SMTPPort' => (int)$config['SMTPPort'],
'mailType' => $config['mailType']
]);
$email->setFrom($config['sender_email'], $config['sender_name']);
$email->setTo($email_id);
$email->setSubject($subject);
$email->setMessage($message);
if ($email->send()) {
return ['status' => 'success', 'code' => 200, 'message' => 'Email Sent Successfully...', 'data' => $email_id];
} else {
log_message('error', 'Email sending failed: ' . $email->printDebugger(['headers']));
return ['status' => 'failed', 'code' => 404, 'message' => 'Email Sent Failed...', 'data' => $email_id];
}
// } catch (\Exception $e) {
// log_message('error', 'Exception occurred while sending email: ' . $e->getMessage());
// return ['status' => 'failed', 'code' => 500, 'message' => 'Exception: ' . $e->getMessage(), 'data' => $email_id];
// }
}
public static function check_mail_config($r_email, $mail_config = [])
{
$default_config = [
'protocol' => 'smtp',
'SMTPHost' => 'mail.venbait.in',
'SMTPUser' => 'bbone@venbait.in',
'SMTPPass' => 'xk!L(N_-R#};',
'SMTPPort' => 465,
'mailType' => 'html',
'sender_email' => 'bbone@venbait.in',
'sender_name' => 'BB-Sign'
];
// Merge default config with provided config
$config = array_merge($default_config, $mail_config);
$email = \Config\Services::email();
$email->initialize([
'protocol' => $config['protocol'],
'SMTPHost' => $config['SMTPHost'],
'SMTPUser' => $config['SMTPUser'],
'SMTPPass' => $config['SMTPPass'],
'SMTPPort' => (int)$config['SMTPPort'],
'mailType' => $config['mailType']
]);
$email->setFrom($config['sender_email'], "Sender Name");
$email->setTo($r_email);
$email->setSubject("Test Mail Configuration");
$email->setMessage("Test Mail Configuration");
if ($email->send()) {
return json_encode(['status' => 'success', 'code' => 200, 'message' => 'Email Sent Successfully...', 'data' => $r_email]);
} else {
log_message('error', 'Email sending failed: ' . $email->printDebugger(['headers']));
return ['status' => 'failed', 'code' => 404, 'message' => 'Email Sent Failed...', 'data' => $r_email];
}
}
}
?>