OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
back_aws-ses
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/17/2025 10:17:24 AM
rwxrwxr-x
📄
.browserslistrc
208 bytes
01/04/2025 01:08:16 PM
rw-r--r--
📄
.gitignore
42 bytes
01/04/2025 01:08:16 PM
rw-r--r--
📄
.htaccess
803 bytes
01/04/2025 01:08:16 PM
rw-r--r--
📄
.htaccess.swp
12 KB
01/04/2025 01:08:16 PM
rw-r--r--
📄
.travis.yml
199 bytes
01/04/2025 01:08:17 PM
rw-r--r--
📄
03-01-25index.php
8.44 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
04-01-25navbar.php
23.27 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
addList.php
6.67 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
aditya_navbar.php
23.72 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
allTemplates.php
5 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
b_navbar.php
7.84 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
bbsns_subscribe.php
5.14 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
bcreateList.php
9.61 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
blacklist.php
14.78 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
bounceViewList.php
7.25 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
bounce_handler.php
5 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
bprocess_emails.php
6.73 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
checkNotificationTopics.php
5.11 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
check_identity
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
checknotif.php
1.01 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
ckeditor.php
2.14 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
click_handler.php
1.75 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
combined.php
11.23 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
complaintsViewList.php
6.34 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
complaints_handler.php
2.89 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
composer.json
200 bytes
01/04/2025 01:08:17 PM
rw-r--r--
📄
composer.lock
39.12 KB
01/04/2025 01:08:17 PM
rw-r--r--
📄
createList.php
18.26 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
credentials
-
01/04/2025 01:08:19 PM
rwxr-xr-x
📄
csv.php
13.16 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
db.php
1000 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
deleteCampaign.php
966 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
delete_list.php
509 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
delete_users.php
435 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
deliveryViewList.php
6.15 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
delivery_handler.php
3.25 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
download_Complaints.php
974 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
download_bounces.php
1007 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
download_delivered.php
971 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
download_unique_open.php
1.6 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
duplicate_campaign.php
1.62 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
edit_campaign.php
1.45 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
edit_list.php
9.89 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
feedback.php
1.66 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
footer.php
1.7 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
groupchatnavbar.php
607 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
himanshu_navbar.php
7.84 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
housekeeping.php
15.37 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
index.php
10.79 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
insert_list.php
2.64 KB
05/19/2025 10:07:21 AM
rw-r--r--
📁
js
-
01/04/2025 01:08:19 PM
rwxr-xr-x
📄
load.php
159 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📁
log
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
main.css
1.3 KB
01/04/2025 01:08:18 PM
rw-r--r--
📄
navbar.php
22.59 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
newCompaign.php
13.16 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
open_handler.php
1.75 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
process
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
process_emails.php
11.3 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
real-recipients.csv
39.48 KB
01/04/2025 01:08:18 PM
rw-r--r--
📄
resubscribe.php
5.51 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
sample.csv
55 bytes
01/04/2025 01:08:18 PM
rw-r--r--
📄
save.php
252 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
save_campaign.php
612 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
saved_content.html
6.48 KB
01/04/2025 01:08:18 PM
rw-r--r--
📄
send_email.php
987 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
send_email_campaignGraph.php
2.24 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
sendgrid.php
3.62 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
showListMembers.php
13.98 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
showcase.php
7.93 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
sidebar.php
0 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
sns_subscribe.php
5.25 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
submit_form.php
2.48 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
test-mail.csv
337 bytes
01/04/2025 01:08:19 PM
rw-r--r--
📄
test.php
969 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📄
test_process_emails.php
1.91 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
unsubscribe.php
3.8 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
upload_image.php
606 bytes
05/19/2025 10:07:21 AM
rw-r--r--
📁
uploads
-
01/04/2025 01:08:31 PM
rwxr-xr-x
📁
vendor
-
05/19/2025 10:07:22 AM
rwxr-xr-x
📄
verify.html
486 bytes
01/04/2025 01:08:19 PM
rw-r--r--
📄
verify.php
3.12 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
verify_email.php
5.12 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
viewCampaign.php
16.58 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
viewList.php
13.77 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
zcreateList.php
13.51 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
znewCompaign.php
8.29 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
zprocess_emails.php
10.19 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zviewList.php
14.63 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
zzindex.php
10.24 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
zzviewList.php
14.63 KB
05/19/2025 10:07:21 AM
rw-r--r--
Editing: zprocess_emails.php
Close
<?php include '../inc/validate.logged.php'; include '../inc/config.php'; include 'db.php'; include '../assets/php/function.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require '../inc/PHPMailer/Exception.php'; require '../inc/PHPMailer/PHPMailer.php'; require '../inc/PHPMailer/SMTP.php'; function fetch_message_id($debug_mail) { $pattern = '/CLIENT: 250 Ok\s+([a-zA-Z0-9-]+-000000)/'; if (preg_match($pattern, $debug_mail, $matches)) { return $matches[1]; } else { return null; } } function sendEmail($campaignId, $fromEmail, $fromName, $toEmail, $toName, $emailSubject, $emailBody) { if (isSuppressionList($toEmail)) { return json_encode(['status' => 'suppressed']); } else { $debugMessages = ''; $mail = new PHPMailer(true); try { $mail->SMTPDebug = 2; // 2 = messages only $mail->Debugoutput = function ($str, $level) use (&$debugMessages) { // Append debug messages to the variable with timestamp and level $debugMessages .= date('Y-m-d H:i:s') . " [Level $level] $str\n"; }; $mail->CharSet = 'UTF-8'; $mail->isSMTP(); $mail->Host = 'email-smtp.ap-south-1.amazonaws.com'; $mail->SMTPAuth = true; $mail->Username = 'AKIARWSGL3TOGXCYQJVY'; $mail->Password = 'BIj9DvNM3uX+cckSX4So50fqln6DEhie6dMJpe3AjzqK'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom($fromEmail, $fromName); $mail->addAddress($toEmail, $toName); $mail->isHTML(true); $mail->Subject = $emailSubject; $mail->Body = $emailBody; // Add headers $mail->addCustomHeader('X-SES-CONFIGURATION-SET', 'MyConfig'); // Replace with your configuration set name $mail->addCustomHeader('Return-Path', $fromEmail); // Replace with your verified bounce email address $mail->send(); $message_id = fetch_message_id($debugMessages); if (!empty($message_id)) { include 'db.php'; $sql = "INSERT INTO messages (campaign_id, message_id) VALUES ($campaignId,'$message_id')"; mysqli_query($conn, $sql); } return json_encode(['status' => 'verified', 'message_id' => $message_id]); } catch (Exception $e) { if (strpos($mail->ErrorInfo, 'Message rejected: Email address is not verified') !== false) { return json_encode(['status' => 'unverified']); } else { return json_encode(['status' => false, 'error' => $mail->ErrorInfo]); } } } } function isSuppressionList($email) { include 'db.php'; $stmt = $conn->prepare("SELECT COUNT(*) AS count FROM suppression_list WHERE email=?"); $stmt->bind_param('s', $email); $stmt->execute(); $stmt->bind_result($count); $stmt->fetch(); if ($count === 1) { return true; } else { return false; } } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = isset($_POST['action']) ? $_POST['action'] : ''; $subject = isset($_POST['subject']) ? $_POST['subject'] : ''; $emailContent = isset($_POST['emailBody']) ? $_POST['emailBody'] : ''; $list_id = isset($_POST['list_id']) ? $_POST['list_id'] : ''; $campaignName = isset($_POST['createCampaign']) ? $_POST['createCampaign'] : ''; $message = ''; include 'db.php'; if ($action === 'mailer' || $action === 'newsletter') { // Insert campaign details into the database $sentDate = date('Y-m-d H:i:s'); $insertCampaignSql = "INSERT INTO campaigns (campaign_name, action, list_id, sent_date) VALUES ('$campaignName', '$action', '$list_id', '$sentDate')"; if (mysqli_query($conn, $insertCampaignSql)) { // Fetch the auto-incremented id $campaignId = mysqli_insert_id($conn); } $sql = "SELECT name, email FROM subscribers WHERE list_id = '$list_id'"; $result = mysqli_query($conn, $sql); if ($result) { $unverifiedEmails = []; $verifiedEmails = []; $suppressedEmails = []; while ($row = mysqli_fetch_assoc($result)) { $toName = $row['name']; $toEmail = $row['email']; $unsubscribeLink = 'http://knoblycream.com/aws-ses/unsubscribe.php?email=' . urlencode($toEmail); $emailBody = $emailContent . "<br><br><a href=\"$unsubscribeLink\"><button>Unsubscribe</button></a>"; $sendResult = json_decode(sendEmail($campaignId, $gUserEmail, $gUserName, $toEmail, $toName, $subject, $emailBody), true); if ($sendResult['status'] === 'unverified') { $unverifiedEmails[] = $toEmail; } if ($sendResult['status'] === 'verified') { $verifiedEmails[] = $toEmail; } if ($sendResult['status'] === 'suppressed') { $suppressedEmails[] = $toEmail; } } if (!empty($unverifiedEmails)) { $message .= '<div class="alert alert-warning" role="alert">'; $message .= 'Your Email address is not verified. Please verify your email address by contacting <a href="mailto:support@knobly.com">support@knobly.com</a> <br>'; $message .= 'The emails are not sent successfully'; $message .= '</div>'; } if (!empty($verifiedEmails)) { $message .= '<div class="alert alert-success" role="alert" style="text-align:center; padding: 15px; margin-top: 20px;">'; $message .= '<div>'; $message .= '<i class="fas fa-check-circle" style="font-size: 24px; color: #28a745;"></i>'; $message .= '<strong style="display: block; margin-top: 10px;">Success!</strong>'; $message .= '<p>Your campaign emails were sent successfully.</p>'; $message .= '</div>'; $message .= '</div>'; } if (!empty($suppressedEmails)) { $message .= '<div class="alert alert-warning" role="alert">'; $message .= 'The below email addresses are in suppression list (i.e. these following emails have been bounced when you have sent the emails previously): '; $message .= '<ul>'; foreach ($suppressedEmails as $suppressedEmail) { $message .= '<li>' . htmlspecialchars($suppressedEmail) . '</li>'; } $message .= '</ul>'; $message .= '</div>'; } } else { $message = '<div class="alert alert-danger" role="alert">Error: ' . htmlspecialchars(mysqli_error($conn)) . '</div>'; } } if ($action === 'save_draft') { $message = '<div class="alert alert-warning" role="alert">Your email was saved as a draft.</div>'; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Knobly Cream: Create • Reach • Measure</title> <!-- jQuery --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Font Awesome CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css" /> <link rel="stylesheet" href="../inc/fontawesome/css/all.min.css" /> <link rel="stylesheet" href="../inc/magnific-popup.css" /> <link rel="stylesheet" href="../inc/style.css" /> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js" crossorigin="anonymous"></script> <script src="https://cdn.tiny.cloud/1/u5oz235qw5jiqww4udm90ocp9zg2rncblqo2ch0ym3twjgyt/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script> <script src="https://js.zohostatic.com/books/zfwidgets/assets/js/zf-widget.js"></script> <script src="../inc/jquery.magnific-popup.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.5/font/bootstrap-icons.min.css" rel="stylesheet"> <script src="../inc/common.js"></script> <script type="text/javascript"> </script> </head> <body class="sb-nav-fixed"> <?php include 'navbar.php'; ?> <?php include "../assets/php/go_backbar.php"; ?> <div id="layoutSidenav"> <?php include 'sidebar.php'; ?> <div id="layoutSidenav_content"> <main> <div id="panelContent" class="container-fluid"> </div> <div class="container mt-5"> <?php if (isset($message)) : ?> <div class="alert alert-info" role="alert"> <?php echo $message; ?> </div> <?php endif; ?> </div> <!-- Optional: Add Bootstrap Icons for better visuals --> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-icons/1.10.5/font/bootstrap-icons.min.css" rel="stylesheet"> </main> </div> </div> </body> </html>