Added some better mailer error logging and removed uneeded phpmail code

This commit is contained in:
johnnyq
2022-10-07 18:02:38 -04:00
parent 3fe7464db2
commit 1c0061e6bc

View File

@@ -126,7 +126,6 @@ if(isset($_POST['add_user'])){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try{
//Mail Server Settings //Mail Server Settings
$mail->SMTPDebug = 2; // Enable verbose debug output $mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP $mail->isSMTP(); // Set mailer to use SMTP
@@ -148,11 +147,6 @@ if(isset($_POST['add_user'])){
$mail->Body = "Hello, $name<br><br>An ITFlow account has been setup for you. Please change your password upon login. <br><br>Username: $email <br>Password: $_POST[password]<br>Login URL: $config_base_url<br><br>~<br>$session_company_name<br>Support Department<br>$config_ticket_from_email"; $mail->Body = "Hello, $name<br><br>An ITFlow account has been setup for you. Please change your password upon login. <br><br>Username: $email <br>Password: $_POST[password]<br>Login URL: $config_base_url<br><br>~<br>$session_company_name<br>Support Department<br>$config_ticket_from_email";
$mail->send(); $mail->send();
} }
catch(Exception $e){
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
}
//End Mail IF Try-Catch
//Logging //Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Create', log_description = '$session_name created user $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'User', log_action = 'Create', log_description = '$session_name created user $name', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
@@ -3087,8 +3081,6 @@ if(isset($_GET['email_quote'])){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try{
//Mail Server Settings //Mail Server Settings
//$mail->SMTPDebug = 2; // Enable verbose debug output //$mail->SMTPDebug = 2; // Enable verbose debug output
@@ -3134,10 +3126,6 @@ if(isset($_GET['email_quote'])){
header("Location: " . $_SERVER["HTTP_REFERER"]); header("Location: " . $_SERVER["HTTP_REFERER"]);
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
} }
if(isset($_POST['add_recurring'])){ if(isset($_POST['add_recurring'])){
@@ -3597,8 +3585,6 @@ if(isset($_POST['add_payment'])){
if($email_receipt == 1){ if($email_receipt == 1){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try {
//Mail Server Settings //Mail Server Settings
//$mail->SMTPDebug = 2; // Enable verbose debug output //$mail->SMTPDebug = 2; // Enable verbose debug output
@@ -3620,21 +3606,21 @@ if(isset($_POST['add_payment'])){
$mail->Body = "Hello $contact_name,<br><br>We have recieved your payment in the amount of " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . " for invoice <a href='https://$config_base_url/guest_view_invoice.php?invoice_id=$invoice_id&url_key=$invoice_url_key'>$invoice_prefix$invoice_number</a>. Please keep this email as a receipt for your records.<br><br>Amount: " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "<br>Balance: " . numfmt_format_currency($currency_format, $invoice_balance, $invoice_currency_code) . "<br><br>Thank you for your business!<br><br><br>~<br>$company_name<br>Billing Department<br>$config_invoice_from_email<br>$company_phone"; $mail->Body = "Hello $contact_name,<br><br>We have recieved your payment in the amount of " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . " for invoice <a href='https://$config_base_url/guest_view_invoice.php?invoice_id=$invoice_id&url_key=$invoice_url_key'>$invoice_prefix$invoice_number</a>. Please keep this email as a receipt for your records.<br><br>Amount: " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "<br>Balance: " . numfmt_format_currency($currency_format, $invoice_balance, $invoice_currency_code) . "<br><br>Thank you for your business!<br><br><br>~<br>$company_name<br>Billing Department<br>$config_invoice_from_email<br>$company_phone";
$mail->send(); $mail->send();
echo 'Message has been sent';
if(!$mail->send()){
$_SESSION['alert_message'] .= "Mailer Error ";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Email Receipt Failed!', history_invoice_id = $invoice_id, company_id = $session_company_id");
}else{
$_SESSION['alert_message'] .= "Email receipt sent ";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed Receipt!', history_invoice_id = $invoice_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed Receipt!', history_invoice_id = $invoice_id, company_id = $session_company_id");
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
} }
} }
}else{ }else{
$invoice_status = "Partial"; $invoice_status = "Partial";
if($email_receipt == 1){ if($email_receipt == 1){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try {
//Mail Server Settings //Mail Server Settings
//$mail->SMTPDebug = 2; // Enable verbose debug output //$mail->SMTPDebug = 2; // Enable verbose debug output
@@ -3655,14 +3641,14 @@ if(isset($_POST['add_payment'])){
$mail->Subject = "Partial Payment Recieved - Invoice $invoice_prefix$invoice_number"; $mail->Subject = "Partial Payment Recieved - Invoice $invoice_prefix$invoice_number";
$mail->Body = "Hello $contact_name,<br><br>We have recieved partial payment in the amount of " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . " and it has been applied to invoice <a href='https://$config_base_url/guest_view_invoice.php?invoice_id=$invoice_id&url_key=$invoice_url_key'>$invoice_prefix$invoice_number</a>. Please keep this email as a receipt for your records.<br><br>Amount: " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "<br>Balance: " . numfmt_format_currency($currency_format, $invoice_balance, $invoice_currency_code) . "<br><br>Thank you for your business!<br><br><br>~<br>$company_name<br>Billing Department<br>$config_invoice_from_email<br>$company_phone"; $mail->Body = "Hello $contact_name,<br><br>We have recieved partial payment in the amount of " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . " and it has been applied to invoice <a href='https://$config_base_url/guest_view_invoice.php?invoice_id=$invoice_id&url_key=$invoice_url_key'>$invoice_prefix$invoice_number</a>. Please keep this email as a receipt for your records.<br><br>Amount: " . numfmt_format_currency($currency_format, $amount, $invoice_currency_code) . "<br>Balance: " . numfmt_format_currency($currency_format, $invoice_balance, $invoice_currency_code) . "<br><br>Thank you for your business!<br><br><br>~<br>$company_name<br>Billing Department<br>$config_invoice_from_email<br>$company_phone";
$mail->send(); if(!$mail->send()){
echo 'Message has been sent'; $_SESSION['alert_message'] .= "Mailer Error ";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Email Receipt Failed!', history_invoice_id = $invoice_id, company_id = $session_company_id");
}else{
$_SESSION['alert_message'] .= "Email receipt sent ";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed Receipt!', history_invoice_id = $invoice_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed Receipt!', history_invoice_id = $invoice_id, company_id = $session_company_id");
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
} }
} }
} }
@@ -3676,7 +3662,7 @@ if(isset($_POST['add_payment'])){
//Logging //Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Create', log_description = '$payment_amount', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Payment', log_action = 'Create', log_description = '$payment_amount', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
$_SESSION['alert_message'] = "Payment added"; $_SESSION['alert_message'] .= "Payment added";
header("Location: " . $_SERVER["HTTP_REFERER"]); header("Location: " . $_SERVER["HTTP_REFERER"]);
} }
@@ -3779,8 +3765,6 @@ if(isset($_GET['email_invoice'])){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try{
//Mail Server Settings //Mail Server Settings
//$mail->SMTPDebug = 2; // Enable verbose debug output //$mail->SMTPDebug = 2; // Enable verbose debug output
@@ -3811,29 +3795,26 @@ if(isset($_GET['email_invoice'])){
//$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
} }
$mail->send(); if(!$mail->send()){
echo 'Message has been sent'; $_SESSION['alert_type'] = "error";
$_SESSION['alert_message'] = "Invoice Failed to send ";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Email Invoice Failed', history_invoice_id = $invoice_id, company_id = $session_company_id");
}else{
$_SESSION['alert_message'] = "Invoice has been sent";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed invoice', history_invoice_id = $invoice_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Sent', history_description = 'Emailed invoice', history_invoice_id = $invoice_id, company_id = $session_company_id");
//Don't chnage the status to sent if the status is anything but draf //Don't chnage the status to sent if the status is anything but draft
if($invoice_status == 'Draft'){ if($invoice_status == 'Draft'){
mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent' WHERE invoice_id = $invoice_id AND company_id = $session_company_id"); mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent' WHERE invoice_id = $invoice_id AND company_id = $session_company_id");
} }
//Logging //Logging
mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Email', log_description = 'Invoice $invoice_prefix$invoice_number emailed to $client_email', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id"); mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Invoice', log_action = 'Email', log_description = 'Invoice $invoice_prefix$invoice_number emailed to $client_email', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id, company_id = $session_company_id");
$_SESSION['alert_message'] = "Invoice has been sent"; }
header("Location: " . $_SERVER["HTTP_REFERER"]); header("Location: " . $_SERVER["HTTP_REFERER"]);
} catch (Exception $e) {
echo "poop";
}
} }
if(isset($_POST['add_revenue'])){ if(isset($_POST['add_revenue'])){
@@ -6996,8 +6977,6 @@ if(isset($_GET['force_recurring'])){
$mail = new PHPMailer(true); $mail = new PHPMailer(true);
try{
//Mail Server Settings //Mail Server Settings
$mail->SMTPDebug = 2; // Enable verbose debug output $mail->SMTPDebug = 2; // Enable verbose debug output
@@ -7026,10 +7005,6 @@ if(isset($_GET['force_recurring'])){
//Update Invoice Status to Sent //Update Invoice Status to Sent
mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_client_id = $client_id WHERE invoice_id = $new_invoice_id AND company_id = $session_company_id"); mysqli_query($mysqli,"UPDATE invoices SET invoice_status = 'Sent', invoice_client_id = $client_id WHERE invoice_id = $new_invoice_id AND company_id = $session_company_id");
}catch(Exception $e){
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
mysqli_query($mysqli,"INSERT INTO history SET history_status = 'Draft', history_description = 'Failed to send Invoice!', history_invoice_id = $new_invoice_id, company_id = $session_company_id");
} //End Mail Try
} //End Recurring Invoices Loop } //End Recurring Invoices Loop
//Logging //Logging