Evening Everyone;

I have found an issue with CiviCRM 4.4.14 (Drupal 7.39) which I can not fathom. I have checked everything that I can think of and nothing obvious springs out.

I have a non-Smart Group of 369 contacts (361 with e-mails- so technically 361). When I go to CiviMail and generate a mailing it will only send to 311 (with duplicates filtered 308) which I can not get to rise. I have checked the following:

  • That they have a primary e-mail address
  • That they are not flagged as do not e-mail/no bulk e-mails
  • They are not dead (something from the old forums) suggested null deceased
  • They are not on any stop flags
  • They are not on hold
  • The organisations they are members of are "current" memberships

Everything says they should receive the mail.

Oddly, the previous mailing reports reported much more; at 354, but as far as I am aware there were no unsubscribes since that mailing.

has anyone else experienced this?

edit Having made a copy of the group and removed all the contacts without an e-mail address; it appears that having a blank e-mail address does not cause the issue. In that case it would only send to 311 of 361.

I have also searched the old forums and have found similar issues Missing contact in mass-mailing Warning : Undefined offset and missing group members in mailout list et. al. but it does not appear that there were many ideas beyond what I have already tried.

Analysing the group, there is nothing obvious that would explain the missing 50, like a type of contact, or the like.

edit 11 Sept I have now had a change to go through the mailing and the relevant group to work out what is going on and I am no further.

Just a few quick stats which may prompt someones thought process:

  • There were 54 contacts in the group (of 362) which the CiviMail did not go to - 7 additional members of the group did not have e-mail addresses
  • 50 of those 54 contacts had a surname starting with S however 1 contact starting with S did have the mailing sent to them.
  • There is a mixture of current and grace memberships; other contacts with those memberships received the mailing.
  • There is a one organisation and the rest are individuals with a variety of sub-types; other contacts with those sub-types received the mailing.
  • None are pending/on hold/etc

Something of note though which may be significant.

I went to the original group, to pick out and create a new group of those that did not receive the mailing. When it came to the letter S (and 50 of the 51 needed selecting) I clicked the checkbox to select all the members of the group so that I could then de-select the one who did.... it would not let me.

On the select records option it still showed 0 selected records and it errored when I tried to add it to the new group I created. I had to manually select all 50 records for it to work.

I also tried to send a CiviMail to the group of 54. It would only estimate that I would be sending it to 4 recipients. This would suggest to me that I am looking at the 50 contacts with surnames starting S.....

edit 25 Sept This issue continues for us and I am still running into dead ends in terms of leads.

  • Of the 54 contacts, 4 have been discounted as they are duplicates within the mailing group
  • Of the 50 that remain, I have them additionally in a separate group that I can select all and send an e-mail to and they will appear on the e-mail screen. This suggests that the actual e-mails are valid without any stray spaces.
  • This affects the same contacts across all the groups. We know that there was not an issue on 26th August when a civiMail was sent out which contained many of the group, but then fell over between then and 4th September.

Obviously I will be trying to send the monthly mailing to all the recipients on the list manually to see if anything bounces back; but that probably won't explain why this specific list of people, surname starting S, can not be sent anything via CiviMail.

  • 1
    Any chance there is a record in there that has a faulty character eg a comma or a space or something which would cause it to choke - and presumably it then chokes that 'spool' which is why the 50 fail - just a thought and if is it then i will add this as an answer ;-)
    – petednz - fuzion
    Commented Sep 25, 2015 at 8:28
  • Hi @petednz-fuzion - I have gone through the whole group and not found any anomalies in the e-mail addresses. Without sending e-mails it is difficult to diagnose, however with all the groups I have tested, the estimate for a CiviMail send is always short by around the number of individuals who have the same initial. It is likely to be an issue with that one initial..... Commented Sep 29, 2015 at 3:40

3 Answers 3


I finally gave up and forwarded this our developer who found that indeed, the issue was the is_deceased flag which had become NULL of their own accord!

It could be noted that manually setting all the flags via the GUI does not resolve this issue.

It would be interesting at some point to work out whether there was a specific action on the website that caused these flags to become NULL vice 0.

  • glad you finally fond it.
    – Xavier
    Commented Dec 9, 2015 at 8:01

Probably you have already covered that but just to make sure: All contacts are in the goup and have the status "added" and NOT "removed" or "pending"?!

To find out go to >Contacts >Manage Groups and click on the link "Contacts" next to the the group in question. You will then see all contacts in the group and also be able to filter for those that are added, removed or pending.

  • I have checked that. I wonder if the fact that a contact does not have an email will cause it to stop rather than ignore the contact and keep going. Commented Sep 1, 2015 at 17:08
  • Contacts without an email should not stop a mailing indeed. Have you checked the log of your scheduled mailing cronjob (/civicrm/admin/joblog?jid=1&reset=1)? Does it run successfully? The only other thing that comes to my mind is that your hoster/mail provider may limit the number of emails to be sent out. You could try throttling the mailing job and/or contact your provider and ask them.
    – Fabian
    Commented Sep 2, 2015 at 5:45
  • We usually only use ti a few times a month, but the last scheduled mailing came back with Parameters parsed (and passed to API method): a:1:{s:7:"version";i:3;} Full message: Finished execution of Send Scheduled Mailings with result: Success (a:0:{}) Commented Sep 2, 2015 at 15:12
  • I would think this is something prior to the actual process that is doing it though as it is wrong as early as the "Scheduled Recipients" count when you are on the Track and Reply settings. I have tried with other groups and the number of recipients have similar issues, albeit with different lists from the same larger group of about 2000 users. Commented Sep 2, 2015 at 15:16
  • I would focus on the one S that went through and the first one that gagged. What was the id and first few letters of both?
    – pmoz
    Commented Sep 25, 2015 at 11:11

Have you sent already an email to that group since you have discovered the missing ones?

I think you have covered all the common reasons to get a contact excluded in your analysis (death, opt-out, no email, don't send email flag...), I can think of two reasons:

1) Assume something wrong at the data level

(eg. if you had a lot of dedupe, merge, import, api calls, upgrades...) something might have gone wrong at one time and how have now ghosts in the machine, that need to be found and killed.

Can you send an email to the group, go to the report of who received it and compare to the original group list and try to find a couple of the missing 50.

Is there a pattern or something weird/different? you might have to look using the api explorer or sql. The main stuff to look at are the emails and groupcontact entities.

2) a bugus email format

Another reason, especially if you find them clustered (assuming sorted by contact id probably, so not so easy to identify) is that one of the email is invalid, and the cronjob sending them choke on it, die and don't sent the emails after the invalid ones.

This is probably not your case, because this would mean that civi says it will send to the full group, but never finishes the mailing and keeps the 50 left. I mostly mention it because it used to be a problem on older versions of civi.


  • I got to the point where I simply had exhausted my thought process and the mailing was already 4 days late so I sent it and I am going to source the odd 50 this week. re 1 I did note that some grace memberships had expired; however that did not explain most of them (ie the management of the charity; some received and some didn't). re 2 In terms of a bogus email format; I would have thought that would still give me an estimate of the full group during drafting. Commented Sep 9, 2015 at 8:10
  • re boggus format: it should indeed, I don't think it's the issue in your case, just mentioned it for the sake of being exhaustive. Let me know what you find about the missing 50 if there is something weird...
    – Xavier
    Commented Sep 9, 2015 at 9:29
  • Hi @xavier - thank you for your thoughts a few days back; I have updated what I found in the original post which I would appreciate your thoughts on..... Commented Sep 11, 2015 at 10:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.