Save the email response (#6558)

* Save the email response

* use the response variable from the email class

* Rename email_debug to email_response

* Update app_languages.php

* Show the email response

* Save the email response
This commit is contained in:
FusionPBX 2023-02-17 12:47:11 -07:00 committed by GitHub
parent 7dbfd22acb
commit 97dbe7b31a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 62 additions and 29 deletions

View File

@ -92,7 +92,6 @@
$email_from_name = $_SESSION['email']['smtp_from_name']['text'];
//send email
//ob_start();
//$sent = !send_email($email_recipient, 'Test Message', $email_body, $email_error, null, null, 3, 3, $email_attachments) ? false : true;
//$email_response = ob_get_clean();
@ -107,8 +106,12 @@
$email->debug_level = 3;
$email->method = 'direct';
$sent = $email->send();
$email_response = $email->response;
//$email_error = $email->email_error;
//show the response
echo $email_response;
//show additional information
echo "<br><br>\n";

View File

@ -5,7 +5,7 @@
$apps[$x]['uuid'] = '5befdf60-a242-445f-91b3-2e9ee3e0ddf7';
$apps[$x]['category'] = 'system';
$apps[$x]['subcategory'] = 'email';
$apps[$x]['version'] = '2.10';
$apps[$x]['version'] = '2.11';
$apps[$x]['license'] = 'Member';
$apps[$x]['url'] = 'http://www.fusionpbx.com';
$apps[$x]['description']['en-us'] = '';
@ -163,8 +163,8 @@
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = 'true';
$z++;
$apps[$x]['db'][$y]['fields'][$z]['name']['text'] = 'email_debug';
$apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = 'email_substatus';
$apps[$x]['db'][$y]['fields'][$z]['name']['text'] = 'email_response';
$apps[$x]['db'][$y]['fields'][$z]['name']['deprecated'] = 'email_debug';
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
//$apps[$x]['db'][$y]['fields'][$z]['search_by'] = 'true';
$z++;

View File

@ -461,6 +461,26 @@
$text['description-email_action_after']['sv-se'] = '';
$text['description-email_action_after']['uk-ua'] = '';
$text['label-email_response']['en-us'] = 'Response';
$text['label-email_response']['ar-eg'] = '';
$text['label-email_response']['de-at'] = '';
$text['label-email_response']['de-ch'] = '';
$text['label-email_response']['de-de'] = '';
$text['label-email_response']['es-cl'] = '';
$text['label-email_response']['es-mx'] = '';
$text['label-email_response']['fr-ca'] = '';
$text['label-email_response']['fr-fr'] = '';
$text['label-email_response']['he-il'] = '';
$text['label-email_response']['it-it'] = '';
$text['label-email_response']['nl-nl'] = '';
$text['label-email_response']['pl-pl'] = '';
$text['label-email_response']['pt-br'] = '';
$text['label-email_response']['pt-pt'] = '';
$text['label-email_response']['ro-ro'] = '';
$text['label-email_response']['ru-ru'] = '';
$text['label-email_response']['sv-se'] = '';
$text['label-email_response']['uk-ua'] = '';
$text['label-email_retry_count']['en-us'] = 'Retry';
$text['label-email_retry_count']['ar-eg'] = '';
$text['label-email_retry_count']['de-at'] = '';

View File

@ -165,7 +165,7 @@
$email_status = $row["email_status"];
$email_retry_count = $row["email_retry_count"];
//$email_action_before = $row["email_action_before"];
$email_debug = $row["email_debug"];
$email_response = $row["email_response"];
$email_action_after = $row["email_action_after"];
}
unset($sql, $parameters, $row);
@ -313,18 +313,16 @@
echo "</td>\n";
echo "</tr>\n";
if (isset($_REQUEST['debug'])) {
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo " ".$text['label-email_debug']."\n";
echo "</td>\n";
echo "<td class='vtable' style='position: relative;' align='left'>\n";
echo " <textarea class='formfld' style='width: 450px; height: 100px;' name='email_debug'>".$email_debug."</textarea>\n";
echo "<br />\n";
echo $text['description-email_debug']."\n";
echo "</td>\n";
echo "</tr>\n";
}
echo "<tr>\n";
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
echo " ".$text['label-email_response']."\n";
echo "</td>\n";
echo "<td class='vtable' style='position: relative;' align='left'>\n";
echo " <textarea class='formfld' style='width: 450px; height: 100px;' name='email_response'>".$email_response."</textarea>\n";
echo "<br />\n";
echo $text['description-email_response']."\n";
echo "</td>\n";
echo "</tr>\n";
echo "</table>";
echo "<br /><br />";

View File

@ -235,7 +235,6 @@
//echo "email_body before: ".$email_body."\n";
$email_body = str_replace('${message_text}', $transcribe_message, $email_body);
//$email_debug = $field['message'];
//echo "email_body after: ".$email_body."\n";
//unset($field);
}
@ -286,11 +285,8 @@
unset($parameters);
}
//send email
//ob_start();
//$sent = !send_email($email_to, $email_subject, $email_body, $email_error, null, null, null, null, $email_attachments) ? false : true;
//$response = ob_get_clean();
//echo $response;
//save output to a buffer
// ob_start();
//send the email
$email = new email;
@ -301,12 +297,17 @@
$email->subject = $email_subject;
$email->body = $email_body;
$email->attachments = $email_attachments;
$email->debug_level = 3;
$email->method = 'direct';
$email_response = $email->send();
$email_error = $email->email_error;
$email_status = $email->send();
$email_error = $email->error;
$email_response = $email->response;
//get the output buffer
// //$email_response = ob_get_clean();
//send the email
if ($email_response) {
if ($email_status) {
//set the email status to sent
$sql = "update v_email_queue ";
@ -315,9 +316,11 @@
if (isset($transcribe_message)) {
$sql .= "email_transcription = :email_transcription, ";
}
$sql .= "email_response = :email_response, ";
$sql .= "update_date = now() ";
$sql .= "where email_queue_uuid = :email_queue_uuid; ";
$parameters['email_queue_uuid'] = $email_queue_uuid;
$parameters['email_response'] = $email_response;
if (isset($transcribe_message)) {
$parameters['email_transcription'] = $transcribe_message;
}
@ -437,12 +440,12 @@
else {
$sql .= "set email_status = 'trying', ";
}
$sql .= "email_debug = :email_debug, ";
$sql .= "email_response = :email_response, ";
$sql .= "email_retry_count = :email_retry_count, ";
$sql .= "update_date = now() ";
$sql .= "where email_queue_uuid = :email_queue_uuid; ";
$parameters['email_queue_uuid'] = $email_queue_uuid;
$parameters['email_debug'] = $mailer_error;
$parameters['email_response'] = $email_response;
$parameters['email_retry_count'] = $email_retry_count;
$database = new database;
$database->execute($sql, $parameters);

View File

@ -561,8 +561,17 @@ if (!class_exists('email')) {
}
}
//save output to a buffer
ob_start();
//send the email
if (!$mail->Send()) {
$mail_status = $mail->Send();
//get the output buffer
$this->response = ob_get_clean();
//send the email
if (!$mail_status) {
if (isset($mail->ErrorInfo) && strlen($mail->ErrorInfo) > 0) {
$this->error = $mail->ErrorInfo;
}