[Intégré 3.1.42] tracer tous les envois de mails
Posté : jeu. 16 mai 2019 10:48
Bonjour,
J'ai constaté que tous les envois de mails envoyés par GestSup ne sont pas systématiquement indiqués dans les threads d'un ticket sous la forme d'un "petit drapeau".
Je pense particuliairement à ceux qui sont automatiquement envoyés (lorsque les paramètres 'Envoi de mail automatique' sont cochés) : à la création, la cloture ou apres l'ajouts d'une descriptions, ...
Je souhaitais être sur de garder une trace qu'un mail a été envoyé au client, que ce soit automatiquement ou volontairement par le biais du bouton 'Envoyer un mail' du ticket.
J'ai vu une demande sur ce sujet il me semble, mais je ne la retrouve plus.
Pour faire cela je propose de déplacer les lignes 25 à 36 du fichier preview_mail.php :
dans le fichier core/mail.php apres l'instruction '$mail->SmtpClose();' qui doit se trouver pres de la ligne 580.
Ainsi on est sur d'avoir la trace de tout ce qui 'sort' de GestSup.
EDIT:
J'ai oublié de préciser qu'il faut idéalement changer la ligne 'author' comme ceci :
Lorsque le mail de notification d'ouverture est envoyé, user_id vaut 0.
D'autre part, dans le ticket il sera affiché en tant que 'Aucun', on peut paufiner en modifiant le fichier thread.php pour indiquer quelques chose de plus parlant comme 'système'.
Pour cela il suffit d'ajouter un test à la ligne 246 :
Cdlt.
Josh_
J'ai constaté que tous les envois de mails envoyés par GestSup ne sont pas systématiquement indiqués dans les threads d'un ticket sous la forme d'un "petit drapeau".
Je pense particuliairement à ceux qui sont automatiquement envoyés (lorsque les paramètres 'Envoi de mail automatique' sont cochés) : à la création, la cloture ou apres l'ajouts d'une descriptions, ...
Je souhaitais être sur de garder une trace qu'un mail a été envoyé au client, que ce soit automatiquement ou volontairement par le biais du bouton 'Envoyer un mail' du ticket.
J'ai vu une demande sur ce sujet il me semble, mais je ne la retrouve plus.
Pour faire cela je propose de déplacer les lignes 25 à 36 du fichier preview_mail.php :
Code : Tout sélectionner
if($mail_send_error==false)
{
//trace mail in thread
$qry=$db->prepare("INSERT INTO `tthreads` (`ticket`,`date`,`author`,`text`,`type`) VALUES (:ticket,:date,:author,:text,:type)");
$qry->execute(array(
'ticket' => $_GET['id'],
'date' => $datetime,
'author' => $_SESSION['user_id'],
'text' => '',
'type' => 3
));
}
Ainsi on est sur d'avoir la trace de tout ce qui 'sort' de GestSup.
EDIT:
J'ai oublié de préciser qu'il faut idéalement changer la ligne 'author' comme ceci :
Code : Tout sélectionner
'author' => isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0,
D'autre part, dans le ticket il sera affiché en tant que 'Aucun', on peut paufiner en modifiant le fichier thread.php pour indiquer quelques chose de plus parlant comme 'système'.
Pour cela il suffit d'ajouter un test à la ligne 246 :
Code : Tout sélectionner
//compress text for mobile display
if($mobile==1){echo '<i class="icon-envelope"></i> '.$date_thread.': <b>'.T_('Envoi de mail').'</b>';}
else {
if($row['author']>0){
echo '<i class="icon-envelope"></i> '.$date_thread.': <b>'.T_('Envoi de mail').'</b> <span style="font-size: x-small;">('.T_('Effectué par').' '.$author['firstname'].' '.$author['lastname'].')</span>';
} else {
echo '<i class="icon-envelope"></i> '.$date_thread.': <b>'.T_('Envoi de mail').'</b> <span style="font-size: x-small;">('.T_('Effectué par').' '.T_('le système').')</span>';
}
}
Cdlt.
Josh_