Please try using the full email address as the username instead of just the username');
?>
= (int)$TotalMsgs) {
foreach($_SESSION['MsgsToDelete'] as $msgid) {
imap_delete($inbox, $msgid);
}
imap_expunge($inbox);
imap_close($inbox);
?>
0) {
$timeunits = $timediff / ($start+1);
$timediff = ($timeunits * ($TotalMsgs - $start));
} else {
$timediff = 0;
}
$timewaiting = timedifference($timediff);
?>
:: Bounce Information ::
Your email account is currently being checked for bounced emails. Please do not close this window. There are emails remaining in the queue...
Has taken approximately so far...
Have to wait approximately until it finishes...
$TotalMsgs) {
break;
}
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; ' . "---------------\n", 3, SS_BOUNCE_LOG_FILE);
error_log('at line ' . __LINE__ . '; Processing email number ' . $email_no . "\n", 3, SS_BOUNCE_LOG_FILE);
}
$emailBody = imap_body($inbox, $email_no);
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; email Body: ' . $emailBody . "\n", 3, SS_BOUNCE_LOG_FILE);
}
preg_match_all('%([a-zA-Z0-9_\.\-_]*@[a-zA-Z0-9_\.\-]*.[a-zA-Z]+)%', $emailBody, $email_matches);
$email_matches = array_unique($email_matches[0]);
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; found emails ' . print_r($email_matches, true) . "\n", 3, SS_BOUNCE_LOG_FILE);
}
foreach($email_matches as $email_to_check) {
$emailAddress = trim($email_to_check);
if (in_array($emailAddress, $ignorePhrases) || $emailAddress == $BounceEmail) {
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; email address being ignored' . "\n", 3, SS_BOUNCE_LOG_FILE);
}
continue;
}
$check_query = "SELECT COUNT(*) FROM " . $TABLEPREFIX . "members WHERE Email='".addslashes($emailAddress)."' AND ListID = '".addslashes($ListID)."'";
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; running query ' . $check_query . "\n", 3, SS_BOUNCE_LOG_FILE);
}
// Let's see if we can find this email address in the database
$exists = mysql_result(mysql_query($check_query), 0, 0) == 0 ? false : true;
if($exists)
{
$id_qry = "SELECT MemberID FROM " . $TABLEPREFIX . "members WHERE Email='" . addslashes($emailAddress) . "' AND ListID='" . addslashes($ListID) . "'";
$result = mysql_query($id_qry);
$member_row = mysql_fetch_assoc($result);
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; found subscriber id ' . $member_row['MemberID'] . "\n", 3, SS_BOUNCE_LOG_FILE);
}
// The subscriber exists, update his status, depending on which bounce handler has been chosen
if($BounceHandler == 'bounce')
{
// Set their status to inactive (0)
$update_query = "UPDATE " . $TABLEPREFIX . "members SET Status = 0 WHERE Email='".addslashes($emailAddress)."' AND ListID = '".addslashes($ListID)."'";
mysql_query($update_query);
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; running query ' . $update_query . "\n", 3, SS_BOUNCE_LOG_FILE);
}
}
else
{
// Remove them from the mailing list
$del_member_query = "DELETE FROM " . $TABLEPREFIX . "members WHERE Email='".addslashes($emailAddress)."' AND ListID = '".addslashes($ListID)."'";
mysql_query($del_member_query);
$del_fields_query = "DELETE FROM " . $TABLEPREFIX . "list_field_values WHERE ListID='" . addslashes($ListID) . "' AND UserID='" . addslashes($member_row['MemberID']) . "'";
mysql_query($del_fields_query);
if (SS_BOUNCE_DEBUG) {
error_log('at line ' . __LINE__ . '; running query ' . $del_member_query . "\n", 3, SS_BOUNCE_LOG_FILE);
error_log('at line ' . __LINE__ . '; running query ' . $del_fields_query . "\n", 3, SS_BOUNCE_LOG_FILE);
}
}
$num_bounced++;
$_SESSION['MsgsToDelete'][] = $email_no;
// we only want to process the first email address found on the list.
break;
}
}
}
$bounced_msgs = (isset($_GET['BouncedMsgs'])) ? (int)$_GET['BouncedMsgs'] : 0;
$bounced_msgs = $bounced_msgs + $num_bounced;
$mailbox_link = MakeAdminLink("lists?Action=DoBounce&ListID=" . $ListID . "&BounceEmail=" . urlencode($_GET['BounceEmail']) . "&EmailServer=" . urlencode($emailserver) . "&EmailUser=" . urlencode($emailuser) . "&EmailPassword=" . urlencode($emailpass) . "&BounceHandler=" . $_GET['BounceHandler'] . "&Start=" . ($start+$PER_REFRESH) . "&TotalMsgs=" . $TotalMsgs . "&BouncedMsgs=" . $bounced_msgs . "&StartTime=$StartTime&random=" . getmicrotime());
?>