Resend 'bounced' messages (due to temporary email 'reputation' issue)


I send out a rather huge amount of emails, twice a year, spread over several campaigns.
Last campaign (which I ended up aborting last week) seemed to generate an unusual bounce rate and after investigating it turned out my email reputation was ‘bad’ ( )

I’m still trying to get to the bottom of this. If it is due to the sudden high volume I’m F’ed as that is how I usually do this. But 3 weeks ago I had an issue with a Russian bot abusing my email sign up page (and perhaps that is the true reason - ps a captcha fixed this). Anyway, meanwhile my reputation is ‘good’ again. Not just ‘neutral’, it’s actually ‘good’. I wonder if me contacting them had that effect. So I want to restart the campaign, but I’d also like to resend to the people for which it bounced.

The campaign is sent to several ‘healthy’ lists so I’m inclined to break the rules for once and resend to all the bounced messages on those lists, for this campaign.

I installed Duncan’s plugin to that end:

but realize I need to enter the emails for the bounces I want to resend.

Yet, I can’t seem to find how to export all email addresses that bounced for a certain campaign ?
Your input kindly appreciated.

Anybody know how I can export the email addresses for all the bounces of a certain campaign ?

@ibPeter The Message Statistics plugin will show the bounces for a campaign.

Thanks @duncanc ,

I will check out that plugin.

It seems this plugin won’t work for my phplist version ( 3.2.6 ).
No time to upgrade now. Will have to look into this later then.
I’m reluctant to upgrade to be honest because I have scripts running depending on restapi etc. and too many things can break, and no time to test and fix at the moment.

I was wondering if there is no other way, using phplist 3.2.6 to export a list of email addresses for which the last email (per list perhaps) bounced? Some way to end up with the email addresses I need ?

@ibPeter The user_message_bounce table shows all the bounces for that campaign. You can get the email addresses by joining with the user table.

If you need to restrict to a specific list then join to the listuser table.

Thanks @duncanc

Unfortunately databases are pretty much a black box to me.
I can browse the database using phpMyAdmin and I see the table you mention but doing further operations such as ‘joining’ are a step too far.

I suppose I was still hoping for a way to export via phplist

@ibPeter If you have used the default prefix for table names then this query should do what you want. You can run it in phpmyadmin, just replace the messageid and the listid to those you want.

 FROM phplist_user_message_bounce umb
 join phplist_user_user u on = umb.user
 join phplist_listuser lu on lu.userid = umb.user
 where umb.message = 102 and lu.listid = 2

Thanks for your help @duncanc, much appreciated.

I tried this:

 FROM phplist_user_message_bounce umb
 join phplist_user_user u on = umb.user
 join phplist_listuser lu on lu.userid = umb.user
 where umb.message = 168 and lu.listid = 7

168 being the campaign, and List 7 being one of the lists this campaign was sent to.
But I always got 0 results (which I think is weird)

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0001 seconds.)

Next I tried:

 FROM phplist_user_message_bounce umb
 join phplist_user_user u on = umb.user
 join phplist_listuser lu on lu.userid = umb.user
 where umb.message = 168

believing that would return the data regardless what list, but for campaign 168 (that was sent to several lists)
Am I assuming this correctly ?

This gave me a list of email addresses and after testing a few of the emails I think my theory is correct, but kindly confirm.

However, I noticed that some email addresses were listed 2,3 or more times. When I checked, these email addresses were present in several lists. Some of these lists were part of the campaign, some were not (as in that list was excluded in fact) Is this correct, to be expected behaviour ?

At least one of the listed addresses was blacklisted. Last bounce had triggered the blacklisting because 5 consecutive bounces had been recorded. So that seems to be in order.
Am I correct to assume that if I use the phplist-plugin-campaigns plugin to re-send the email to the bounced email addresses, that blacklisted email addresses will not be retried (even though provided in the list ?)
That would be Ok though. If previous 4 emails failed, this email would not have made the difference.

Last, I ended up with 2 email lists for 2 campaigns that were affected by the ‘reputation’ issue).
One short list with 100-ish emails and one longer list, a few thousand.

I tried the short list using the plugin and the plugin provides an overview ‘campaign will be resent to these subscribers’, ‘bounces deleted for’ and ‘campaign was not originally sent to these subscribers’.

It’s the latter list that I thought was odd ?
If the extraction from the database worked as it should, these addresses should not have been listed there ?
On closer inspection. Two of these emails had been blacklisted due to previous email bounce and their 5 consecutive bounces, so I guess that’s OK. However there were also a few email addresses for emails that had bounced AND for emails, as far as I can tell, that were sent successfully ? All these email addresses were part of the proper lists, so they would have been sent. 5-6 emails all in all, so no biggie, but still weird.

@ibPeter Sorry but there are too many questions here.

Why don’t you just send a new campaign to the list and apologise for anyone receiving the email twice?

@duncanc That would mean that roughly 80.000 emails get send without the need for that. I’d rather not.

I’m currently trying the plugin for the larger list (I reduced it to just under 3000 emails).
But nothing has come back for 30 minutes now. FF still shows a moving dot in the tab, so I assume something is happening but it’s a bit troublesome.

I’ll figure it out …