Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $fd = fopen("php://stdin", "r");
- $email = "";
- while (!feof($fd)) {
- $email .= fread($fd, 1024);
- }
- fclose($fd);
- $lines = explode("\n", $email);
- $type = "";
- $CampaignID = "";
- foreach ($lines as $line) {
- $line = trim($line);
- if ($type == "ARF") {
- if (strstr("X-CampaignID:")) {
- $begin = strrpos($line, ":");
- $CampaignID = substr($line, $begin + 1);
- exit;
- }
- }else if ($type == "BOUNCE") {
- if ($CampaignID == "") {
- if (strstr("X-CampaignID:")) {
- $begin = strrpos($line, ":");
- $CampaignID = substr($line, $begin + 1);
- }
- }
- $bouncecodes = array(
- '5.0.0' => 'HARDBOUNCE',
- '5.1.0' => 'HARDBOUNCE',
- '5.1.1' => 'HARDBOUNCE',
- '5.1.2' => 'HARDBOUNCE',
- '5.1.3' => 'HARDBOUNCE',
- '5.1.4' => 'HARDBOUNCE',
- '5.1.5' => 'HARDBOUNCE',
- '5.1.6' => 'HARDBOUNCE',
- '5.1.7' => 'HARDBOUNCE',
- '5.1.8' => 'HARDBOUNCE',
- '5.2.0' => 'SOFTBOUNCE',
- '5.2.1' => 'SOFTBOUNCE',
- '5.2.2' => 'SOFTBOUNCE',
- '5.2.3' => 'HARDBOUNCE',
- '5.2.4' => 'HARDBOUNCE',
- '5.3.0' => 'HARDBOUNCE',
- '5.3.1' => 'SOFTBOUNCE',
- '5.3.2' => 'HARDBOUNCE',
- '5.3.3' => 'HARDBOUNCE',
- '5.3.4' => 'HARDBOUNCE',
- '5.4.0' => 'HARDBOUNCE',
- '5.4.1' => 'HARDBOUNCE',
- '5.4.2' => 'HARDBOUNCE',
- '5.4.3' => 'HARDBOUNCE',
- '5.4.4' => 'HARDBOUNCE',
- '5.4.5' => 'SOFTBOUNCE',
- '5.4.6' => 'HARDBOUNCE',
- '5.4.7' => 'HARDBOUNCE',
- '5.5.0' => 'HARDBOUNCE',
- '5.5.1' => 'HARDBOUNCE',
- '5.5.2' => 'HARDBOUNCE',
- '5.5.3' => 'SOFTBOUNCE',
- '5.5.4' => 'HARDBOUNCE',
- '5.5.5' => 'HARDBOUNCE',
- '5.6.0' => 'HARDBOUNCE',
- '5.6.1' => 'HARDBOUNCE',
- '5.6.2' => 'HARDBOUNCE',
- '5.6.3' => 'HARDBOUNCE',
- '5.6.4' => 'HARDBOUNCE',
- '5.6.5' => 'HARDBOUNCE',
- '5.7.0' => 'HARDBOUNCE',
- '5.7.1' => 'HARDBOUNCE',
- '5.7.2' => 'HARDBOUNCE',
- '5.7.3' => 'HARDBOUNCE',
- '5.7.4' => 'HARDBOUNCE',
- '5.7.5' => 'HARDBOUNCE',
- '5.7.6' => 'HARDBOUNCE',
- '5.7.7' => 'HARDBOUNCE',
- '9.1.1' => 'HARDBOUNCE',
- );
- foreach ($bouncecodes as $code => $btype) {
- if (strstr($code)) {
- $type = $btype;
- if ($CampaignID != "") {
- exit;
- }
- }
- }
- }else if ($type == "HARDBOUNCE") {
- if (strstr("X-CampaignID:")) {
- $begin = strrpos($line, ":");
- $CampaignID = substr($line, $begin + 1);
- exit;
- }
- }else if ($type == "SOFTBOUNCE") {
- if (strstr("X-CampaignID:")) {
- $begin = strrpos($line, ":");
- $CampaignID = substr($line, $begin + 1);
- exit;
- }
- }else{
- if (strstr($line, "Content-Type: multipart/report; report-type=feedback-report;")) {
- $type = "ARF";
- }
- if (strstr($line, "X-Failed-Recipients")) {
- $type = "BOUNCE";
- }
- }
- }
- if ($type == "ARF" && $CampaignID != "") {
- //Unsubscribe
- }else if ($type == "HARDBOUNCE" && $CampaignID != "") {
- //Unsubscribe
- }else if ($type == "SOFTBOUNCE" && $CampaignID != "") {
- //Retry later or Unsubscribe if max softbounces has been reached
- }else{
- //Does Not Compute - Backup plan, foward email for manual review
- mail($notifyemail, "System Notification", $email);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment