I think we've worked it out! A while ago some contacts had been manually added to the Smart Group (their status on the contact list for screenshot 2 showed them as 'Added' rather than 'Smart'). Smart groups don't automatically remove these people, so I've manually removed them which should solve the problem.
Going to avoid manually adding people to Smart ...
In mailing the count of recipients may be different than the count of smart group. The contact in mailing are filtered out if
Contacts email is on hold
Privacy set to donot email.
Same email address grouped together
Contact doesn't have email id
This was created a few years ago and evidently no longer worked.
Disabling this template allowed the honoree section to come through and show on the donation page.
Sounds as if you may the ‘Hashed Mailing URL's’ option selected in your CiviMail Component Settings –
Administer > CiviMail > CiviMail Component Settings
If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID
In my case, neither of the other answers solved the issue I was having although I'm sure they are also reasons why Mosaico might not be working!
In my case, it was due to a dodgy Drupal module that was injecting whitespace into all the images which caused them to break.
I set up a local copy of the site and enabled each module one by one until the images ...
After much digging, I found the reason why contact images were not appearing.
It was due to a module that had a PHP file with two new lines before the opening PHP tag <?php.
To figure this out, I created a local copy of the website and went through the modules list, enabling them one by one to see at what point the image broke.
Once I'd found which ...