/home/bjcompany/domains/benjabhorn.com/public_html/benjabhorn_group/control/test/test_callback.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<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
 *   bool    $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 "<br />\n";
  return 
true;
}

$testLite false;

if (
$testLite) {
  require_once 
'../class.phpmailer-lite.php';
  
$mail = new PHPMailerLite();
} else {
  require_once 
'../class.phpmailer.php';
  
$mail = new PHPMailer();
}

try {
  
$mail->IsMail(); // telling the class to use SMTP
  
$mail->SetFrom('you@yourdomain.com''Your Name');
  
$mail->AddAddress('another@yourdomain.com''John Doe');
  
$mail->Subject 'PHPMailer Lite Test Subject via Mail()';
  
$mail->AltBody 'To view the message, please use an HTML compatible email viewer!'// optional - MsgHTML will create an alternate automatically
  
$mail->MsgHTML(file_get_contents('contents.html'));
  
$mail->AddAttachment('images/phpmailer.gif');      // attachment
  
$mail->AddAttachment('images/phpmailer_mini.gif'); // 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('@''&#64;'$addy['Email']);
  return 
$addy;
}

?>
</body>
</html>