Aggiunti nuovi task per mail server Creato metodo in guihandler per aprire le pagine con richiesta post Aggiunta possibilità di passare callback ai backend delle datatables Modificati alcuni url Modificato HTMLInclusion per non utilizzare i path assoluti in fase di creazione ma solo in fase di stampa degli header (per evitare problemi sugli script) Creato mailserver e mail template Creata interfaccia mail per salvataggio mail in database, gestione coda. Creata interfaccia grafica per la gestione delle mail e delle code Incluse librerie PHP_Mailer Inserite pagine di creazione e cancellazione manuale utenti Bugfix su alcune pagine di edit
82 lines
2.6 KiB
PHP
82 lines
2.6 KiB
PHP
<html>
|
|
<head>
|
|
<title>PHPMailer Lite - DKIM and Callback Function test</title>
|
|
</head>
|
|
<body>
|
|
|
|
<?php
|
|
/* This is a sample callback function for PHPMailer Lite.
|
|
* This callback function will echo the results of PHPMailer processing.
|
|
*/
|
|
|
|
/* Callback (action) function
|
|
* boolean $result result of the send action
|
|
* string $to email address of the recipient
|
|
* string $cc cc email addresses
|
|
* string $bcc bcc email addresses
|
|
* string $subject the subject
|
|
* string $body the email body
|
|
* @return boolean
|
|
*/
|
|
function callbackAction($result, $to, $cc, $bcc, $subject, $body)
|
|
{
|
|
/*
|
|
this callback example echos the results to the screen - implement to
|
|
post to databases, build CSV log files, etc., with minor changes
|
|
*/
|
|
$to = cleanEmails($to, 'to');
|
|
$cc = cleanEmails($cc[0], 'cc');
|
|
$bcc = cleanEmails($bcc[0], 'cc');
|
|
echo $result . "\tTo: " . $to['Name'] . "\tTo: " . $to['Email'] . "\tCc: " . $cc['Name'] .
|
|
"\tCc: " . $cc['Email'] . "\tBcc: " . $bcc['Name'] . "\tBcc: " . $bcc['Email'] .
|
|
"\t" . $subject . "\n\n". $body . "\n";
|
|
return true;
|
|
}
|
|
|
|
require_once '../PHPMailerAutoload.php';
|
|
$mail = new PHPMailer();
|
|
|
|
try {
|
|
$mail->isMail();
|
|
$mail->setFrom('you@example.com', 'Your Name');
|
|
$mail->addAddress('another@example.com', 'John Doe');
|
|
$mail->Subject = 'PHPMailer Test Subject';
|
|
$mail->msgHTML(file_get_contents('../examples/contents.html'));
|
|
// optional - msgHTML will create an alternate automatically
|
|
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!';
|
|
$mail->addAttachment('../examples/images/phpmailer.png'); // attachment
|
|
$mail->addAttachment('../examples/images/phpmailer_mini.png'); // attachment
|
|
$mail->action_function = 'callbackAction';
|
|
$mail->send();
|
|
echo "Message Sent OK</p>\n";
|
|
} catch (phpmailerException $e) {
|
|
echo $e->errorMessage(); //Pretty error messages from PHPMailer
|
|
} catch (Exception $e) {
|
|
echo $e->getMessage(); //Boring error messages from anything else!
|
|
}
|
|
|
|
function cleanEmails($str, $type)
|
|
{
|
|
if ($type == 'cc') {
|
|
$addy['Email'] = $str[0];
|
|
$addy['Name'] = $str[1];
|
|
return $addy;
|
|
}
|
|
if (!strstr($str, ' <')) {
|
|
$addy['Name'] = '';
|
|
$addy['Email'] = $addy;
|
|
return $addy;
|
|
}
|
|
$addyArr = explode(' <', $str);
|
|
if (substr($addyArr[1], -1) == '>') {
|
|
$addyArr[1] = substr($addyArr[1], 0, -1);
|
|
}
|
|
$addy['Name'] = $addyArr[0];
|
|
$addy['Email'] = $addyArr[1];
|
|
$addy['Email'] = str_replace('@', '@', $addy['Email']);
|
|
return $addy;
|
|
}
|
|
?>
|
|
</body>
|
|
</html>
|