0

Reproduction steps:

  • Click on **Find Contribution -> enter a contact name -> click search **.

  • Select 1 contact (contribution) from the list -> select "Email send now to 50 or less" from action menu

  • Email popup window opens. -> in the TO field add a second recipient -> Select a template or add text in body

  • Click Send

Current behaviour:

  • First recipient that was selected from find contribution list receives the email with body, subject & attachment (if any)

  • Second recipient who was added later receives a blank email with no body or subject. If any attachment were added, that gets added though.

Expected behaviour

  • Second recipient who was added later should also receive the same email as the first recipient.

Does anyone have a fix for this please? Thanks

3

To add additional 'To' in email on Find Contribution action is not supported because the html is build using contribution id, Hence manually added email will not have contribution id selected from Find contribution result. It may be little tricky to change the code to support this. Below patch should work if your email body doesn't have contribution tokens.

diff --git a/CRM/Activity/BAO/Activity.php b/CRM/Activity/BAO/Activity.php
index 4fe6e48..ef36a12 100644
--- a/CRM/Activity/BAO/Activity.php
+++ b/CRM/Activity/BAO/Activity.php
@@ -1124,12 +1124,16 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
       $contactId = $values['contact_id'];
       $emailAddress = $values['email'];
 
-      if (!empty($contributionDetails)) {
+      if (!empty($contributionDetails[$contactId])) {
         $subject = $contributionDetails[$contactId]['subject'];
         $text = $contributionDetails[$contactId]['text'];
         $html = $contributionDetails[$contactId]['html'];
       }
-
+      else {
+        $subject = $subject;
+        $text = $text;
+        $html = $html;
+      }
       if (!empty($details) && is_array($details["{$contactId}"])) {
         // unset email from details since it always returns primary email address
         unset($details["{$contactId}"]['email']);

Other alternate method is to use Advance Search, Display result as Contact, add contribution filter. Select Contact and choose email action.

HTH

Pradeep

1
  • Thanks @pradeep
    – Tapash
    May 27 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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