CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviMail (Moderator: Piotr Szotkowski) »
  • CiviMail - Resending to Mail Delivery Failures
Pages: [1]

Author Topic: CiviMail - Resending to Mail Delivery Failures  (Read 2113 times)

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 04:38:41 am
Hi there,

Since moving servers I discovered that the new server had a limitation on the number of mails per hour just after setting off mailing to all our supporters - consequently there was an 84% delivery failure... ouch. Server configuration has now been corrected.

I would like to resend the same mailing to all those who did not receive it first time round because of the server issue.

If I look at the 'processed' box of the returns channel I can see listed all those that were not delivered because of the limit.

If I look at one of these people's activity record it shows that they have received the mailing.

In this topic http://forum.civicrm.org/index.php?action=post;topic=8971.0;last_msg=38639 the advise given was to create a group based on a query - but as far as I can see the database does not help identify those who did not receive the mailing.

How do I create a group based on the information in the 'processed' mail box?

By the way if non-recipients are being recorded as recipients is this a bug, or am I missing a further step?

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 04:53:35 am
Here's the next step in my thinking - if anyone is reading this for a solution please be wary as I am not a developer, I am a user fumbling my way through a problem...

Steps -

1) check the database to see if there is any additional information that my help me identify the recipients as non-recipients.

Assuming that this doesn't work...

2) write a php script to create a list of all those who did not receive the mailing because of the server limit

3) do something to create a group, or change the activity so that the database correctly records non-delivery

4) if it is a bug - report it and see if I can help based on the experience of getting out of trouble (ever the optimist)

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 06:49:46 am
Well - I can't see anything on the activities for any of the contacts that have not received the mailing - they are all listed as recipients of the mailing with no bounces.... But then it is not a bounce and they were listed as recipients of the mailing.

The data should be associated with the mailing itself, and another look at the mailing report lists the people on the bounces with the following reason:

'Unknown bounce type: Could not parse bounce email'

This is in civicrm_mailing_event_bounce

So I can use this to link back to the recipient and form a group... Dunno how, but I'll get there!


xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 07:07:37 am
Hi,

Use the bounce report to get the list of bounces, and you can create a group from them.

With that group, you can re-activate the emails and do a new mailing (you can't resend the email, you will have to copy the existing one and send it to the group)

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 07:23:33 am
I can extract a list from the database using this query:


SELECT
    contact_id
FROM
    civicrm_mailing_event_bounce
        LEFT JOIN
    civicrm_mailing_event_queue ON civicrm_mailing_event_bounce.event_queue_id = civicrm_mailing_event_queue.id
WHERE
    bounce_type_id = 11 AND DATE(time_stamp) > '2011-12-07 15:16:23'


(apologies that this is specific - bounce_type_11 is and SMTP transaction error and the time was the last one before the one I'm interested in and I've not sent another)

So I can now create a group with those contact id's directly -

BUT

Is there another way of forming the group from the bounce report using civiCRM gui rather than by directly manipulating the database?

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 08:59:53 am
This is all using the web interface

Quote from: xavier on January 16, 2012, 07:07:37 am
Use the bounce report to get the list of bounces, and you can create a group from them.

With that group, you can re-activate the emails and do a new mailing (you can't resend the email, you will have to copy the existing one and send it to the group)

-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 09:20:15 am
Thanks Xavier, but I have been unable to find anything in the web interface that allowed me to do that... Your instruction could be illuminating and welcome...

Meanwhile I did the following, where 252 is the id of a group I created

INSERT IGNORE INTO civicrm_group_contact (group_id, contact_id, status)
(SELECT
    252, contact_id, 'Added'
FROM
    civicrm_mailing_event_bounce
        LEFT JOIN
    civicrm_mailing_event_queue ON civicrm_mailing_event_bounce.event_queue_id = civicrm_mailing_event_queue.id
WHERE
    bounce_type_id = 11 AND DATE(time_stamp) > '2011-12-07 15:16:23')

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 09:30:15 am
Well done, nice sql fu ;)

You need to enable civireport to get access to the bounced email report

X+
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

myles

  • I post frequently
  • ***
  • Posts: 263
  • Karma: 11
Re: CiviMail - Resending to Mail Delivery Failures
January 16, 2012, 09:31:37 am
FYI the specific difficulty I was having is this:

"Use the bounce report to get the list of bounces, and you can create a group from them."

I can see the list of bounces, (reports are enabled) but can't see any mechanism for creating a group - I can't do a search on 'contacts subject to bounces on a particular mailing and type of bounce', or any magic button that says 'create group' from the report.

Anyway - I have my mailing sent out, so I shall get on with all the things I haven't been doing!

Thanks for your help, Xavier.

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Support »
  • Using CiviCRM »
  • Using CiviMail (Moderator: Piotr Szotkowski) »
  • CiviMail - Resending to Mail Delivery Failures

This forum was archived on 2017-11-26.