Development issueshttps://lab.civicrm.org/groups/dev/-/issues2022-06-11T14:58:16Zhttps://lab.civicrm.org/dev/core/-/issues/3649Token renders in message preview and test message, not in final sent message2022-06-11T14:58:16ZChrisHardieToken renders in message preview and test message, not in final sent messageI'm on CiviCRM 5.35.1 with WordPress 5.7. Today I used CiviMail for the first time to send a mailing to a group of contacts. I used some tokens (custom contact fields) that rendered fine in my "preview HTML" view and in the generated mes...I'm on CiviCRM 5.35.1 with WordPress 5.7. Today I used CiviMail for the first time to send a mailing to a group of contacts. I used some tokens (custom contact fields) that rendered fine in my "preview HTML" view and in the generated message when I sent a test email to myself. However, in the final sent message that went out to recipients, they were not rendered and instead displayed as `{contact.custom_10}` and `{contact.custom_9}`. Other tokens were rendered just fine. The only thing that seems different about these two is that they are custom fields, and that they were in a bolded line of text.
Is this something I've missed in our configuration? Let me know if you need any other information. Thank you.https://lab.civicrm.org/dev/core/-/issues/3647Deleting C or Final mailing for A/B test makes report on A and B segments unv...2024-02-24T05:03:28ZlarsssandergreenDeleting C or Final mailing for A/B test makes report on A and B segments unviewableIf you create and A/B test, send the A & B segments and then delete the C or Final segment from Draft and Unscheduled Mailings, you can no longer view the mailing report for the A/B test. The mailing report URL just shows a blank page wi...If you create and A/B test, send the A & B segments and then delete the C or Final segment from Draft and Unscheduled Mailings, you can no longer view the mailing report for the A/B test. The mailing report URL just shows a blank page with header and footer.
I think it is probably not that uncommon an occurrence for someone to create an A/B test and later need to make a small change to the final version before sending it. That's easy enough to do by re-using one of the mailings and excluding the A and B mailings from your recipients. However, you will probably delete the C mailing from the unscheduled list at this point and then no longer be able to view the original A/B mailing report.
I'm testing on 5.28.4. This happens with both Mosaico and traditional mailings.https://lab.civicrm.org/dev/core/-/issues/3646Support tracking URLs with tokens in query strings2022-06-11T14:58:11ZlarsssandergreenSupport tracking URLs with tokens in query stringsURLs with tokens in mailings do not have click tracking. This is an important metric for fundraising (e.g. to see how many and even which contacts click through to contribution pages). @artfulrobot put together some code that worked well...URLs with tokens in mailings do not have click tracking. This is an important metric for fundraising (e.g. to see how many and even which contacts click through to contribution pages). @artfulrobot put together some code that worked well to track these clicks in Flexmailer, but that code was not merged before Flexmailer was merged into core.
https://github.com/civicrm/org.civicrm.flexmailer/issues/30
We used this without issue for four months and found it worked very well. @artfulrobot was using it since March. Would it be possible to merge this into core. Rich, would you be willing to copy your code to a patch against core?RichRichhttps://lab.civicrm.org/dev/core/-/issues/3644Delivery summary doesn't show2022-06-11T14:58:02ZLoganBearDelivery summary doesn't showUpdated to CiviCRM 5.19 - ran one of our biweekly mailings last night and I wanted to check the open count. But Civi says that the mailing isn't completed,![Screen_Shot_2019-11-08_at_10.23.56_AM](/uploads/9723b265e4f977ffebce0033575d5291...Updated to CiviCRM 5.19 - ran one of our biweekly mailings last night and I wanted to check the open count. But Civi says that the mailing isn't completed,![Screen_Shot_2019-11-08_at_10.23.56_AM](/uploads/9723b265e4f977ffebce0033575d5291/Screen_Shot_2019-11-08_at_10.23.56_AM.png)
but the summary shows it's completed.![Screen_Shot_2019-11-08_at_10.23.41_AM](/uploads/24352601bef0fce245cc4198826cb937/Screen_Shot_2019-11-08_at_10.23.41_AM.png)5.19.1https://lab.civicrm.org/dev/core/-/issues/3643Mailing fails with DB error when an emoji is pasted in to email body2022-06-14T22:47:19ZAndy ClarkMailing fails with DB error when an emoji is pasted in to email bodyUser pasted a long text into the html editor in Civi mailing including a couple of emojis. CiviCRM then crashed with a DB error (traceback attached) and keeps coming up with the same error if you proceed. The [traceback.txt](/uploads/218...User pasted a long text into the html editor in Civi mailing including a couple of emojis. CiviCRM then crashed with a DB error (traceback attached) and keeps coming up with the same error if you proceed. The [traceback.txt](/uploads/21854b8649d709a69f1b32afa40945c4/traceback.txt) Reproducible on 5.15.2, 5.18.2 and dmaster. The emoji in question is a smiley face ![image](/uploads/9641fe7eb083a5174e2698eb47a36d92/image.png)https://lab.civicrm.org/dev/core/-/issues/3642mailing.viewUrl token doesn't work in Drupal8 instance2022-06-14T21:21:06ZMonish Debmailing.viewUrl token doesn't work in Drupal8 instanceI wasn't able to replicate it in other CMSs but in Drupal8. When we sent a mail via cron, the 'View in your browser' link redirects to https://Array/ instead of https:://www.example.com/civicrm/mailing/view?reset=1&id=195. Strangely I w...I wasn't able to replicate it in other CMSs but in Drupal8. When we sent a mail via cron, the 'View in your browser' link redirects to https://Array/ instead of https:://www.example.com/civicrm/mailing/view?reset=1&id=195. Strangely I was not able to replicate it on test mail.
This is the fix which resolved my issue
```patch
diff --git a/CRM/Utils/Token.php b/CRM/Utils/Token.php
index b001c84..d1ad601 100644
--- a/CRM/Utils/Token.php
+++ b/CRM/Utils/Token.php
@@ -485,7 +485,7 @@ class CRM_Utils_Token {
$mailingKey = $hash;
}
$value = CRM_Utils_System::url('civicrm/mailing/view',
"reset=11&id={$mailingKey}",
- TRUE, NULL, FALSE, TRUE
+ TRUE
);
break;
```Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/3640Most recent contact note exposed in event confirmation emails.2022-06-11T14:57:56ZBobSMost recent contact note exposed in event confirmation emails.* Create an event where the on-line registration profile contain a Contacts:Note field.
* Contact leaves that field blank during form submission.
* Result: Contact receives a confirmation email showing the most recent note on that contac...* Create an event where the on-line registration profile contain a Contacts:Note field.
* Contact leaves that field blank during form submission.
* Result: Contact receives a confirmation email showing the most recent note on that contact.
Not sure if this behavior is intentional, but I consider it problematic.
- a) Showing a contact a note he might have submitted years ago is rather confusing.
- b) Backend users may have an expectation of confidentiality when they add notes to a contact record, believing that info will never be exposed to the contact.
Confirmed on CiviCRM 5.13.4, 5.15.1.https://lab.civicrm.org/dev/core/-/issues/3639When using a smart group as a mailing, users whose state changes after the ma...2024-02-23T05:03:22ZrichardsplaygroundWhen using a smart group as a mailing, users whose state changes after the mailing is created but before the mailing is sent are not correctly countedCiviCRM 5.8.2 on Drupal 7.
When a mailing is created with a smart group and is scheduled to be sent in the future, user state changes between the time the mailing is created and the time it is sent do not get accounted for:
1. If a us...CiviCRM 5.8.2 on Drupal 7.
When a mailing is created with a smart group and is scheduled to be sent in the future, user state changes between the time the mailing is created and the time it is sent do not get accounted for:
1. If a user is added to the smart group in that period, they do not get the mailing.
2. If a user's private settings change (e.g. do not mail is checked) in that period, they receive the mailing anyway.
3. If a user is removed from the smart group in that period, they do get the mailing.
Problem 3 may be resolved by mail#28. Problem 2 is an edge case, albeit an important one. Problem 1 is a challenge for our organization, as we frequently pre-create marketing emails for our events months in advance during our slow periods, only to have them not reach newly added community members when they are finally sent.
Not more than a dabbler at development so cannot offer a PR. We would be willing to kick in some funding to have this resolved so that we can create marketing emails when we want, and have them reach all users in the smart group as per the group membership at the time of sending. (Within reason, does not have to be "real time" but the group membership as of an hour or so before sending is fine. Perhaps a cron job to update the mail job's recipient list would suffice?)https://lab.civicrm.org/dev/core/-/issues/3637Google G Suite: Sending via smtp.gmail.com will alter the From Address2022-06-11T14:57:51ZkenGoogle G Suite: Sending via smtp.gmail.com will alter the From AddressIf you're using Google G Suite, send email via smtp-relay.gmail.com rather than smtp.gmail.com.
If you use smtp.gmail.com then the FROM header in the email will be a mashup of the From Address and the SMTP Username.
For example ...
* ...If you're using Google G Suite, send email via smtp-relay.gmail.com rather than smtp.gmail.com.
If you use smtp.gmail.com then the FROM header in the email will be a mashup of the From Address and the SMTP Username.
For example ...
* Say my SMTP Username is set in _Settings - Outbound Mail_ to **smtp@example.com**
* Say I use the following _From Address_ in my CiviMail: **My Name <my.name@example.com>**
* The FROM header in the email will be **From: My Name <smtp@example.com>**
Using smtp-relay.gmail.com does what you expect.https://lab.civicrm.org/dev/core/-/issues/3636CiviCRM, Find Mailings. If there are no results, the same message "There are ...2022-06-11T14:57:49Zjustinfreeman (Agileware)CiviCRM, Find Mailings. If there are no results, the same message "There are no Unscheduled Mailings" is shownCiviCRM, Find Mailings. If there are no results, the same message "There are no Unscheduled Mailings" is shown regardless of the search criteria. If a different mailing status was used for search, it does not make sense to refer to "Unsc...CiviCRM, Find Mailings. If there are no results, the same message "There are no Unscheduled Mailings" is shown regardless of the search criteria. If a different mailing status was used for search, it does not make sense to refer to "Unscheduled Mailings".
This text should be changed to something else like: "There are no mailings matching this criteria".
Using CiviCRM 5.7.2
Agileware Ref: CIVICRM-1121
![Find_Mailings-2](/uploads/34e6b1996338721a1a2a333a3a16cd2a/Find_Mailings-2.png)https://lab.civicrm.org/dev/core/-/issues/3635Emails marked as bounce when quota is full2024-02-22T05:03:25ZEdselopezEmails marked as bounce when quota is fullThere are cases (usually when using Gmail SMTP) when the Outbound email fails to deliver a mailing due to the user's daily quota being exhausted. In this case, if the mailing is re-used unknowingly, attempts to re-send the mailing adds t...There are cases (usually when using Gmail SMTP) when the Outbound email fails to deliver a mailing due to the user's daily quota being exhausted. In this case, if the mailing is re-used unknowingly, attempts to re-send the mailing adds to the bounce threshold, finally surpassing the limit of three bounces, marking the email as "on hold". To solve this, I'm thinking bounce type of "Quota" should be excluded from the calculation of marking the email as on hold. Please let me know if this is reasonable and I will provide a patch.https://lab.civicrm.org/dev/core/-/issues/3634When using a smart group as a mailing list, users who unsubscribe from the sm...2022-06-11T14:57:45Ztom.mWhen using a smart group as a mailing list, users who unsubscribe from the smart group are still included in the mailing.It looks like in CRM/MailingBAO/Mailing.php, is not taking into account those who have been removed from the smart group. Civi version 5.3.
```
if (count($includeSmartGroupIDs)) {
$query = CRM_Utils_SQL_Select::from($contact)
...It looks like in CRM/MailingBAO/Mailing.php, is not taking into account those who have been removed from the smart group. Civi version 5.3.
```
if (count($includeSmartGroupIDs)) {
$query = CRM_Utils_SQL_Select::from($contact)
->select("$contact.id as contact_id, $entityTable.id as $entityColumn")
->join($entityTable, " INNER JOIN $entityTable ON $entityTable.contact_id = $contact.id ")
->join('gc', " INNER JOIN civicrm_group_contact_cache gc ON $contact.id = gc.contact_id ")
->join('mg', " INNER JOIN civicrm_mailing_group mg ON gc.group_id = mg.entity_id AND mg.search_id IS NULL ")
->join('temp', " LEFT JOIN $excludeTempTablename temp ON $contact.id = temp.contact_id ")
->where('gc.group_id IN (#groups)')
->merge($criteria)
->replaceInto($includedTempTablename, array('contact_id', $entityColumn))
->param('#groups', $includeSmartGroupIDs)
->param('#mailingID', $mailingID)
->execute();
}
```https://lab.civicrm.org/dev/core/-/issues/3633Error notification when scheduling civimail for current day may be incorrect2024-02-21T05:03:32ZrobinhoodError notification when scheduling civimail for current day may be incorrectThis is a minor issue. When setting up a civimail at a scheduled date and time, any time on the current day triggers "The scheduled date and time is in the past" error popup, even if the scheduled time is in the future. The error does n...This is a minor issue. When setting up a civimail at a scheduled date and time, any time on the current day triggers "The scheduled date and time is in the past" error popup, even if the scheduled time is in the future. The error does not prevent the civimail from being scheduled for the current day, but it is confusing to the user.
Edit: Using Civicrm 5.3.2 on Wordpress 4.9.8https://lab.civicrm.org/dev/core/-/issues/3632Mass SMS not sent to contacts whose mobile phone is not their Primary phone2022-06-12T21:25:03ZkenMass SMS not sent to contacts whose mobile phone is not their Primary phoneI have just upgraded to CiviCRM 5.3.2 and have found that Mass SMS are not being delivered to contacts where the mobile phone is not the Primary phone.
The change was made in this commit https://github.com/civicrm/civicrm-core/commit/6f...I have just upgraded to CiviCRM 5.3.2 and have found that Mass SMS are not being delivered to contacts where the mobile phone is not the Primary phone.
The change was made in this commit https://github.com/civicrm/civicrm-core/commit/6f3a35e0986bc21ffbf730c7d3f20f2894c1bb58#diff-8c026e80a2f25f46826dd9568bc301b0 in this PR https://github.com/civicrm/civicrm-core/pull/11558 as a result of this refactoring https://issues.civicrm.org/jira/browse/CRM-21316.
It seems from the unit test case that the code handles the case where a contact has multiple Mobile phones and chooses the Primary phone over the non-Primary phone.
But the code fails if the Primary phone is not the Mobile one.
What is needed is something similar to the Mass Email case. For emails, CRM_Mailing_BAO_Mailing::getLocationFilterAndOrderBy() generates a WHERE clause and an ORDER BY clause that ensures the right emails are selected and preferred.https://lab.civicrm.org/dev/core/-/issues/3631Unexpected behavior from api.MailingEventSubscribe.create2024-02-21T05:03:31ZginkgofjgUnexpected behavior from api.MailingEventSubscribe.createIn creating a custom e-newsletter sign-up form for a client, I encountered the following unexpected behaviors. I'm happy to submit one or more corrective pull requests but would first like to:
* confirm that this is not an unexpected us...In creating a custom e-newsletter sign-up form for a client, I encountered the following unexpected behaviors. I'm happy to submit one or more corrective pull requests but would first like to:
* confirm that this is not an unexpected use of this API,
* confirm that these behaviors are unexpected,
* get two cents from others on the approach, and
* get acceptance criteria for the PR(s) -- i.e., what tests do I need to write/pass?
The unexpecteds:
1. This is cosmetic, but the API metadata are wrong. The API Explorer describes the params as though they were for unsubscription.
2. Suppose contact X is already a member of a mailing group Y. If their IDs are passed to this API, the contact's status in the group is "downgraded" to "Pending" and the user must reconfirm membership by clicking the link emailed to them.
3. The contact's DO NOT MAIL and NO BULK EMAILS Communication Preferences are not updated. These changes should not be effected by the initial API call, but after the user clicks the confirmation link emailed to her.
The approaches:
1. This should be a trivial update to the API's `_spec()` function.
2. The API delegates to `CRM_Mailing_Event_BAO_Subscribe::subscribe()`. I would fix the problem in the delegate by checking for group membership and bailing out early if the record already exists with the appropriate status.
3. Confirmation is handled by `CRM_Mailing_Page_Confirm` which delegates to `CRM_Mailing_Event_BAO_Confirm::confirm()`. I would unset the communication preferences in question in the delegate.ginkgofjgginkgofjghttps://lab.civicrm.org/dev/core/-/issues/3630Fix accessible mailings when users don't have view all contacts permission2024-02-19T05:03:29ZMichael McAndrewFix accessible mailings when users don't have view all contacts permissionCRM_Mailing_BAO_Mailing::mailingACLIDs is responsible for limiting the mailings that are visible to users when they do not have either view or edit all contacts (at the BAO layer at least)
It works by returning a list of Ids of mailings...CRM_Mailing_BAO_Mailing::mailingACLIDs is responsible for limiting the mailings that are visible to users when they do not have either view or edit all contacts (at the BAO layer at least)
It works by returning a list of Ids of mailings that should be visible.
One of the queries that is used to construct this list looks like this:
```sql
SELECT DISTINCT(m.id) AS id
FROM civicrm_mailing m
LEFT JOIN civicrm_mailing_group g ON g.mailing_id = m.id
WHERE ((g.entity_table LIKE 'civicrm_group%'
AND g.entity_id IN (3))
OR (g.entity_table IS NULL
AND g.entity_id IS NULL
AND m.domain_id = 1))
```
The logic behind the `OR (g.entity_table IS NULL AND g.entity_id IS NULL AND m.domain_id = 1) where clause looks wrong to me.
My assumption is that it is there because if you created a mailing (added lots of content, etc.) but didn't then assign it a group, it would suddenly disappear from view when you went back to look for it because it didn't contain a group that you have access to.
The problem with this condition is that the user also gets to see mailings by other contacts who have similarly not defined any groups yet.
Provided the above assumption is correct, a better condition would be `OR m.created_id = $user_id` (where user id is the contact ID of the current logged in user.
@JonGold, I wonder what you think about this given that your issue https://issues.civicrm.org/jira/browse/CRM-16981 was similar in nature. @seamuslee - I'm guessing you might have some thoughts on this as well.
Also related is https://issues.civicrm.org/jira/browse/CRM-18181 (though I have not yet got my head around how :)
Aaalso related, in my experimentation, the Mailing api does not respect these permissions, so people get to see all mailings in the recipients field in the Angular powered new CiviMail UI. Are you experiencing that @JonGold?
I've running the above suggestion with a client at the moment. If we get some consensus on how it should work, I would be happy to Shepard this into core.https://lab.civicrm.org/dev/core/-/issues/3629Extraneous space in From address causes on-hold set on all recipients2022-06-11T14:57:32ZBobSExtraneous space in From address causes on-hold set on all recipientsIf a CiviMail email is sent with a From address having the form<br>
`"Name" <me@example.com>` (note two spaces before '<')<br>
then:
1. No emails are sent
2. **All recipients are marked On-Hold!**
Occurs on CiviCRM 4.7.26.
*Edit*: Al...If a CiviMail email is sent with a From address having the form<br>
`"Name" <me@example.com>` (note two spaces before '<')<br>
then:
1. No emails are sent
2. **All recipients are marked On-Hold!**
Occurs on CiviCRM 4.7.26.
*Edit*: Also occurs on 5.2.1
Could not reproduce on demo site as sending email is not enabled there.
The following three CMS log entries are created for each recipient:
1:<pre>Ignoring exception thrown by nullHandler: , Validation failed for: "(INVALID)" <(INVALID)></pre>
2:<pre>$backTrace = #0 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/CRM/Core/Error.php(959): CRM_Core_Error::backtrace("backTrace", TRUE) #1 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(921): CRM_Core_Error::nullHandler(Object(PEAR_Error)) #2 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(577): PEAR_Error->__construct("Validation failed for: \"(INVALID)\" <(INVALID)>", NULL, 16, (Array:2), NULL) #3 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/PEAR.php(236): PEAR::_raiseError(NULL, "Validation failed for: \"(INVALID)\" <(INVALID)>") #4 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail/RFC822.php(209): PEAR::__callStatic("raiseError", (Array:1)) #5 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail.php(191): Mail_RFC822->parseAddressList((Array:2), "localhost", FALSE) #6 /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/packages/Mail/mail.php(151): Mail->prepareHeaders((Array:10)) #7 ...</pre>
3:<pre>
Notice: Only variables should be passed by reference in CRM_Mailing_BAO_MailingJob->deliverGroup() (line 721 of /var/www/clients/client1/web3/web/drupal/sites/all/modules/civicrm/CRM/Mailing/BAO/MailingJob.php).
</pre>5.5.0https://lab.civicrm.org/dev/core/-/issues/3627Only add closing quote to href token output when necessary2022-06-11T14:57:26ZMichael McAndrewOnly add closing quote to href token output when necessary[Lines 1345 to 1350 of CRM/Mailing/BAO/Mailing.php](https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/BAO/Mailing.php#L1345-L1350) add a trailing quote to tokens of 'type' `embedded_url` as according to the code:
```
...[Lines 1345 to 1350 of CRM/Mailing/BAO/Mailing.php](https://github.com/civicrm/civicrm-core/blob/master/CRM/Mailing/BAO/Mailing.php#L1345-L1350) add a trailing quote to tokens of 'type' `embedded_url` as according to the code:
```
// add trailing quote since we've gobbled it up in a previous regex
// function getPatterns, line 431
```
In my testing, sometimes the trailing quote is not gobbled, e.g. in this example `<p><a href="https://example.org/communication-preferences?cid1={contact.contact_id}&{contact.checksum}">Click here to select your communication preferences</a></p>`.
As a fix, I am proposing to only add a closing quote if the url does not already have one.https://lab.civicrm.org/dev/core/-/issues/3626"New Mailing" prematurely schedules blasts and old mailings can be resent2022-06-11T14:57:24Ztotten"New Mailing" prematurely schedules blasts and old mailings can be resent## Steps to reproduce
* Open a MySQL console where you can monitor the content of `civicrm_mailing_job`.
* Make a `Mailing => New Mailing`
* Fill in name/subject/recipients/body on the first page.
* Go to the second page
* __Observe__:...## Steps to reproduce
* Open a MySQL console where you can monitor the content of `civicrm_mailing_job`.
* Make a `Mailing => New Mailing`
* Fill in name/subject/recipients/body on the first page.
* Go to the second page
* __Observe__: In the MySQL console, observe that there are no jobs scheduled for this mailing.
* Set a delivery time. *But don't hit `Submit`*. (You're just thinking about delivery... but not actually sending yet.)
* Open an HTML or plain-text preview.
* __Observe__: In the MySQL console, observe that there is now a scheduled job for this mailing.
To resend an old mailing:
* Any mailing will be queued for redelivery if a user with permission to use CiviMail visits URL `civicrm/a/#/mailing/<MAILING_ID>` (we've seen several users end up on this URL, apparently via browser history)
## Mitigating factors
The only way I've found to trigger the premature mailing (so far) has been to explicitly set the delivery date. It's quite bad to be sending prematurely, but I think it's taken a while to recognize because the delivery date is *the last thing* in the entire process -- *most of the time*, one doesn't set the delivery date until everything else has been settled. This probably means the real-world impact hasn't been as bad one might fear.
## Context
This appears to be a regression in 4.7.31. Related PRs:
* https://issues.civicrm.org/jira/browse/CRM-21260
* https://issues.civicrm.org/jira/browse/CRM-21316
* https://issues.civicrm.org/jira/browse/CRM-21749
* https://github.com/civicrm/civicrm-core/pull/11142/
* https://github.com/civicrm/civicrm-core/pull/11653/
## Solution
* Because the fix is in javascript, resolving this bug requires flushing CiviCRM caches (`cv flush` command) after upgrading to CiviCRM 5.0.05.0.0https://lab.civicrm.org/dev/core/-/issues/3625Recipient groups in a scheduled mail return no recipients.2022-06-11T14:57:22ZspalmstromRecipient groups in a scheduled mail return no recipients.Creating or reusing a scheduled mail in CiviMail v4.7.31 under Joomla returns no recipients when groups are added to the recipient list. The demo sites are several versions behind and run under Drupal, so can't be used to verify. At thi...Creating or reusing a scheduled mail in CiviMail v4.7.31 under Joomla returns no recipients when groups are added to the recipient list. The demo sites are several versions behind and run under Drupal, so can't be used to verify. At this point I'm unsure of where the search takes place, so have a problem debugging it.