Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-14-2010, 11:42 AM
TalkVirginia's Avatar
TalkVirginia TalkVirginia is offline
 
Join Date: Oct 2008
Location: Virginia
Posts: 545
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Detecting Bounced Email

I'm working on an addon and one of the features is that I'm trying to detect and trap bounced emails. I found a tutorial that walks through setting this up at the following page:

http://forums.theplanet.com/lofivers...hp/t89873.html

I'd like to run the following script on my shared host, but I'm not sure what vBulletin scripts I would need to include to allow me to add information from the bounced emails into my vbulletin database log table. Any suggestions?

PHP Code:

#!/usr/local/bin/php -q
<?php

// Reading in the email
$fd fopen("php://stdin""r");
while (!
feof($fd)) {
  
$email .= fread($fd1024);
}
fclose($fd);

// Parsing the email
$lines explode("\n"$email);
$stillheaders=true;
for (
$i=0$i count($lines); $i++) {
  if (
$stillheaders) {
    
// this is a header
    
$headers .= $lines[$i]."\n";

    
// look out for special headers
    
if (preg_match("/^Subject: (.*)/"$lines[$i], $matches)) {
      
$subject $matches[1];
    }
    if (
preg_match("/^From: (.*)/"$lines[$i], $matches)) {
      
$from $matches[1];
    }
    if (
preg_match("/^To: (.*)/"$lines[$i], $matches)) {
      
$to $matches[1];
    }
  } else {
    
// not a header, but message
    
break;
    
// Optionally you can read out the message also, instead of the break:
    //$message .= $lines[$i]."\n";
  
}

  if (
trim($lines[$i])=="") {
    
// empty line, header section has ended
    
$stillheaders false;
  }
}

list(
$part1,$dum1) = explode("-bounce@yoursite.com"trim($to) ); 
list(
$dum2,$user) = explode("user-"$part1);
//
// $user now contains the user id "12345" in the example
//
// Here you put in your custom code 
// like open up your database connection and 
// mark the user as invalid email address,
// so you don's send to him again.

return true;
?>
Reply With Quote
  #2  
Old 03-18-2010, 03:14 AM
Biker_GA Biker_GA is offline
 
Join Date: Oct 2004
Location: Where my hat is
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Funny thing. This very subject was brought up to me today and I've been doing a lot of reading regarding bounced email and backscatter spam.

The issue you're going to find is the scripts detailed in the link you provided need to be run as root. As you're on a shared server, it's highly unlikely that you have root access to the server itself. There have been numerous changes to exim over the past couple of years as well, and that script may very well be outdated since it was originally written in '08.

I'm still looking into this issue and it's a thorny one indeed. exim needs to be set to where it checks at SMTP, not when it's already accepted the email and is deciding where to route it. It's much easier to set this in the exim configuration files, and your host should have already done this. In my case, the host doesn't do squat for dedicated servers, so I'm having to figure this all out on my own. **banging head on desk**
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:50 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.19989 seconds
  • Memory Usage 2,184KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete