CHANGE_MULTIPL_TO_MAIL : RV

This commit is contained in:
VENKATESHWARAN 2025-04-22 16:31:32 +05:30
parent bf3a19addf
commit 70721df23c
5 changed files with 197 additions and 163 deletions

View File

@ -32,6 +32,7 @@ $routes->get("sendextraparam", "ClientController::sendextraparam");
$routes->get("updateRenewalData", "ClientController::updateRenewalData");
$routes->get("updateRenewalDataNotExistingClient", "ClientController::updateRenewalDataNotExistingClient");
$routes->get("updateRenewalInsurerData", "ClientController::updateRenewalInsurerData");
$routes->get("sendMutipleToEmails", "MasterController::sendMutipleToEmails");
// $routes->post("iAgreeForAddOn", "EmployeeRestController::iAgreeForAddOn");
// $routes->get("sendCroneRemainderMail", "DashboardController::sendCroneRemainderMail");
// $routes->post("employeeUpload", "EmployeeRestController::employeeUpload");

View File

@ -1829,4 +1829,22 @@ class MasterController extends AdminController
echo "################################################################\n\n";
}
public function sendMutipleToEmails()
{
$message = '<style>body{font-family:Arial,sans-serif;color:#333;line-height:1.6;margin:0;padding:0}.email-container{width:100%;max-width:600px;margin:0 auto;padding:20px;border:1px solid #e0e0e0;background-color:#f9f9f9}.header{background-color:#4a90e2;color:#fff;padding:15px;text-align:center}.header h1{margin:0;font-size:24px}.content{padding:20px;background-color:#fff}.content h2{color:#4a90e2;font-size:20px;margin-top:0}.content p{margin:10px 0}.details-table{width:100%;border-collapse:collapse;margin-top:20px}.details-table td,.details-table th{border:1px solid #ddd;padding:10px;text-align:left}.details-table th{background-color:#f2f2f2}.footer{margin-top:20px;font-size:12px;color:#777;text-align:center}.attachment-note{margin-top:20px;padding:10px;background-color:#f7f7f7;border-left:4px solid #4a90e2;font-style:italic}</style><div class=email-container><div class=header><h1>Request for Quotation (RFQ)</h1></div><div class=content><h2>Dear {{RECIPIENT_NAME}},</h2><p>We are reaching out to request a quotation for the following insurance coverage. Please review the details below and provide your quote at your earliest convenience.<h2>RFQ Details</h2><table class=details-table><tr><th>Client name<td>{{CLIENT_NAME}}<tr><th>Coverage Type<td>{{POLICY_LONG_NAME}}<tr><th>Policy Start Date<td>{{POLICY_START_DATE}}<tr><th>Policy Duration<td>{{DURATION}}</table><div class=attachment-note>Please note: Additional terms and details are included in the attachment for your reference.</div><p>Please feel free to reach out if you require any further information to prepare the quote. We look forward to receiving your proposal.<p>Best regards,<p><strong>Nhance India Pvt Ltd</strong><br></div><div class=footer><p>© Nhance India Pvt Ltd. All rights reserved.</div></div>';
$attachments = [
["filePath" => ROOTPATH."public/sample_excel/sample_addition.xls","fileName" => "sample_addition.xls"],
["filePath" => ROOTPATH."public/sample_excel/sample_inception.xls","fileName" => "sample_inception.xls"],
["filePath" => ROOTPATH."public/assets/images/login_bg.jpg","fileName" => "login_bg.jpg"]
];
$email_id = 'venkateshraman786@gmail.com';
$params = ['mail'=>$email_id];
$multi_mails = ['venkateshraman786@gmail.com', 'gowtham.manavalan.la@gmail.com', 'venkatesh.r@venbainfotech.com'];
$common = ['mail_type'=>'test_mail_cli'];
$bcc = "vitvelz@gmail.com,velmurugan.s@venbainfotech.com,srinivas.saravanan@venbainfotech.com";
$result = MailHelper::send_email(['mail' => $multi_mails, 'bcc'=>$bcc, 'params'=>$params,'subject' => 'Send Multiple " To " emails','message' => $message,'attachments' => $attachments,'common'=>$common]);
dd($result);
}
}

View File

@ -878,24 +878,24 @@ class TicketController extends BaseController
}
// Construct Mail Data
$mailData[] = [
'mail' => $ticket_data['emp_mail'],
$mailData = [
'mail' => [$ticket_data['emp_mail'], $ticket_data['emp_personal_mail'] ?? ""],
'subject' => $subject,
'message' => $message,
'cc' => $ticket_data['common_mails'] ?? '',
'attachments' => []
];
// if the employee personal mail is not empty then send the mail to the employee personal mail
if(!empty($ticket_data['emp_personal_mail'])){
$mailData[] = [
'mail' => $ticket_data['emp_personal_mail'],
'subject' => $subject,
'message' => $message,
'cc' => $ticket_data['common_mails'] ?? '',
'attachments' => []
];
}
// // if the employee personal mail is not empty then send the mail to the employee personal mail
// if(!empty($ticket_data['emp_personal_mail'])){
// $mailData[] = [
// 'mail' => [$ticket_data['emp_mail'], $ticket_data['emp_personal_mail'] ?? ""],
// 'subject' => $subject,
// 'message' => $message,
// 'cc' => $ticket_data['common_mails'] ?? '',
// 'attachments' => []
// ];
// }
// print_r($mailData); die;
@ -986,28 +986,28 @@ class TicketController extends BaseController
$this->myLogger->logme('error', "Fetched ACM emails");
if(!empty($ticket_data['emp_personal_mail'])){
// if(!empty($ticket_data['emp_personal_mail'])){
$this->myLogger->logme('error', "Send employee personal mail start");
// $this->myLogger->logme('error', "Send employee personal mail start");
$emailPersonalData = [
'mail' => $ticket_data['emp_personal_mail'],
'subject' => $mail_data['mail_subject'],
'message' => $mail_data['mail_content'],
'common' => [],
'cc' => $acm_mails['common_mails'],
'attachments' => []
];
// $emailPersonalData = [
// 'mail' => $ticket_data['emp_personal_mail'],
// 'subject' => $mail_data['mail_subject'],
// 'message' => $mail_data['mail_content'],
// 'common' => [],
// 'cc' => $acm_mails['common_mails'],
// 'attachments' => []
// ];
$this->sendTrigger($emailPersonalData);
// $this->sendTrigger($emailPersonalData);
$this->myLogger->logme('error', "Send employee personal mail successfully");
}else{
$this->myLogger->logme('error', "Send employee personal mail is empty");
}
// $this->myLogger->logme('error', "Send employee personal mail successfully");
// }else{
// $this->myLogger->logme('error', "Send employee personal mail is empty");
// }
$emailData = [
'mail' => $mail_data['emp_mail'],
'mail' => [$mail_data['emp_mail'], $ticket_data['emp_personal_mail'] ?? ""],
'subject' => $mail_data['mail_subject'],
'message' => $mail_data['mail_content'],
'common' => [],
@ -1029,10 +1029,11 @@ class TicketController extends BaseController
if (!empty($auto_mail_enable) && $auto_mail_enable['is_auto_mail'] == 1) {
$mail_content = $this->constructMailContent($ticket_id);
// print_r($mail_content); die;
foreach ($mail_content as $key => $value) {
$mail_responce = $this->sendTrigger($value);
$this->myLogger->logme('error', '{data} - Auto Mail Sent, Successfully', ['data' => $key + 1]);
}
// foreach ($mail_content as $key => $value) {
$mail_responce = $this->sendTrigger($mail_content);
// $this->myLogger->logme('error', '{data} - Auto Mail Sent, Successfully', ['data' => $key + 1]);
$this->myLogger->logme('error', 'Auto Mail Sent, Successfully');
// }
} elseif (!empty($auto_mail_enable) && $auto_mail_enable['is_auto_mail'] == 0) {
$this->myLogger->logme('error', 'Auto Mail Not Sent, Reason: Automail Not Enabled');
} else {
@ -1543,7 +1544,7 @@ class TicketController extends BaseController
$sent_message_data['ticket_id'] = $ticket_id;
$sent_message_data['sender'] = 'staff';
$sent_message_data['emp_mail'] = $mail_sent_status->data->params->mail;
$sent_message_data['emp_mail'] = isset($mail_sent_status->data->params->mail[0]) ? $mail_sent_status->data->params->mail[0] ?? null : $mail_sent_status->data->params->mail ?? null;
$sent_message_data['mail_subject'] = $mail_sent_status->data->params->subject;
$sent_message_data['mail_content'] = $mail_sent_status->data->params->message;

View File

@ -73,11 +73,15 @@ class GmailResponseHandler{
$arr = ['bcc','cc','attachments'];
if(in_array($key,$arr)){
$data[$key] = isset($value)?json_encode($value):null;
}else{
if($key == "mail" && is_array($value)){
$data[$key] = isset($value)?json_encode($value):null;
}else{
$data[$key] = isset($value)?$value:null;
}
}
}
}
if(isset($params['zepto_api']['data']) && $params['zepto_api']['message'] == 'OK' ){
$data['gmail_api_status'] = isset($params['zepto_api']['data']) ? $params['zepto_api']['data'][0]['code'] : null;
$data['gmail_api_id'] = isset($params['zepto_api']['request_id']) ? $params['zepto_api']['request_id'] : null;

View File

@ -293,10 +293,26 @@ class MailHelper
}
public static function send_email($params)
{
{
$myLogger = \Config\Services::mylogger();
if (is_array($params['mail'])) {
$emails = [];
foreach ($params['mail'] as $key => $emaill) {
$emails[] = [
'email_address' => [
'address' => $emaill
]
];
}
} else {
$emails[] = [
'email_address' => [
'address' => $params['mail']
]
];
}
$emaill = $params['mail'];
$subject = $params['subject'];
$message = $params['message'];
$attachments = isset($params['attachments']) ? $params['attachments'] : [];
@ -313,13 +329,7 @@ class MailHelper
'from' => [
'address' => $from_address
],
'to' => [
[
'email_address' => [
'address' => $emaill
]
]
],
'to' => $emails,
'subject' => $subject,
'htmlbody' => $message
];
@ -328,7 +338,7 @@ class MailHelper
if (!empty($cc)) {
$ccList = explode(',', $cc);
$ccList = array_map('trim', $ccList);
$postData['cc'] = array_map(function($email) {
$postData['cc'] = array_map(function ($email) {
return [
'email_address' => [
'address' => $email
@ -340,7 +350,7 @@ class MailHelper
if (!empty($bcc)) {
$bccList = explode(',', $bcc);
$bccList = array_map('trim', $bccList);
$postData['bcc'] = array_map(function($email) {
$postData['bcc'] = array_map(function ($email) {
return [
'email_address' => [
'address' => $email
@ -412,7 +422,7 @@ class MailHelper
return json_encode([
'status' => 'failed',
'code' => 404,
'message' => 'Email Sent Failed...' . $emaill,
'message' => 'Email Sent Failed...' . json_encode($params['mail']),
'data' => $res
], 404);
}
@ -423,11 +433,10 @@ class MailHelper
return json_encode([
'status' => 'success',
'code' => 200,
'message' => 'Email Sent Successfully...' . $emaill,
'message' => 'Email Sent Successfully...' . json_encode($params['mail']),
'data' => $res
], 200);
}
} catch (\Exception $e) {
$msg['error'] = $e->getMessage();
$msg['params'] = $params;
@ -439,7 +448,8 @@ class MailHelper
'data' => $msg
], 500);
}
}
}
public static function bulk_mail(array $mails = [])
{
$model = new JobModel();