• Resolved daktulus

    (@daktulus)


    No more Mails are sent after last update. I have PHP 8.2. Help.

    Chat GPT recommends to write this after we tried to fix for hours without success:

    We are experiencing a critical issue on our website with Charitable v[insert version], where donor emails are not sent when the payment method is Bank Transfer / Offline Payment. This is unacceptable as it prevents donors from receiving confirmation and could impact donations.

    Details:

    • SMTP works correctly; test emails from Fluent SMTP are successfully sent.
    • All other WordPress emails (password resets, etc.) are sent without issue.
    • PHP version: 8.2 (Live).
    • Theme: Yootheme; caching cleared; other plugins temporarily disabled – problem persists.
    • Stripe gateway code tested by disabling/renaming plugin – preview errors caused by Stripe are resolved, but mail for Offline Payments still fails.
    • WordPress Debug log shows only PHP Deprecated notices; no fatal errors after disabling Stripe.

    Issue observed:

    • Spender emails for offline payments are never sent.
    • Backend email preview redirects to the homepage.
    • This worked previously (before PHP upgrade or plugin update).

    Questions / Request:

    1. Why are Offline Payment emails not being sent?
    2. Is there a solution that does not require modifying plugin code?
    3. Are there known compatibility issues with PHP 8.2, Yootheme, or cloned/copy sites that could prevent donor emails?

    This issue is critical and needs immediate attention, as donors currently receive no confirmation emails.

    Thank you for urgent support.

    • This topic was modified 2 months ago by daktulus.
    • This topic was modified 2 months ago by daktulus.
Viewing 11 replies - 1 through 11 (of 11 total)
  • Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus Thanks for reaching out we understand this is a critical issue for your donor communications. We have had no reports of email issues with offline donations (with or without PHP updates) so please read our suggestions below and let us know if you have any questions.

    You mentioned this worked perfectly before the PHP/Plugin updates. To help us identify if this is a regression in the code or a specific environment conflict introduced by the update, we need to gather a bit more data.

    1. Please Provide Your System Info We need to review your full active environment (Plugin versions, Theme info, Server config) to rule out known conflicts.

    • Go to Charitable → Tools → System Info.
    • Copy the entire report.
    • Paste it into a text-sharing tool like Pastebin.com or Gist.
    • Reply here with the link to that paste.

    2. Clarification on Previous Version Since this started after an update, do you happen to recall which version of Charitable you were running previously? (e.g., jumping from 1.7.x to 1.8.x). Knowing the specific gap helps us troubleshoot. We can also guide you obtaining the previous version of Charitable on wordpress.org if you wish to try reverting to resolve.

    3. Check “Offline” Specific Settings Please navigate to Donations → Settings → Emails and confirm:

    • “Donor: Offline Donation Receipt” is set to Enabled. (This is distinct from the standard receipt).
    • Donation Status: Check a failed offline donation in the dashboard. Does the status show as Pending? Why this matters: Offline donations must start as “Pending.” If a conflict forces the status immediately to “Processing” or “Completed,” the Offline Receipt trigger will be skipped.
    • Check the donor logs for any offline donation that hasn’t sent an email. Does it have in the log that an email was sent (see above reasons why if no mention… if there is a mention it will note if it was sent and/or if it failed, so supply this information as well).

    4. Can you manually “Resend” an email? To verify if Charitable can send any email on your current server setup, please try this:

    1. Go to Donations and open a specific donation record.
    2. Look for the “Resend Email” link usually in the donor logs, when emails have been sent.
    3. Click “Resend” for the Donation Receipt. Confirm if the email arrives. Note: The button usually requires the donation to be Approved/Completed to send a standard receipt.

    Regarding the Preview Redirect: Can you clarify the “Backend email preview redirects to the homepage” that the AI mentioned? Provide step by steps walkthrough on this so we know exactly what link (and on what URL) you are clicking on and confirm the exact URL.

    Default Theme: Your report didn’t mention switching to a default theme for testing. I would do this first. Switch to a default WordPress theme with all non-Charitable plugins deactivated and see if the issue continues.

    We will wait for your System Info link and the results of the tests I mentioned above to investigate further. Thank you.

    Thread Starter daktulus

    (@daktulus)

    I sent a stripe donation via credit card, seen as paid in the list and didnt get a mail.

    Resend is working now. Also I get an email now as admin after I made an offline donation (that didnt work before), still no supporter mail after donating.
    I deactivated stripe, ChatGPT said this could be the problem according to an error log. Maybe this is why I get mails again, now? Would the donor get a mail when he sends a request for an offline payment via transfer, even if he hasnt paid yet? As far as I recall they do. That doesnt work.

    Answering your questions:

    3. Check “Offline” Specific Settings Please navigate to Donations → Settings → Emails and confirm:

    • “Donor: Offline Donation Receipt” is set to Enabled. (This is distinct from the standard receipt).

    I do not find these settings, I have a lite version.

    Offline donation is pending, but no mail.

    I dont see logs.

    My theme is Yootheme. It would be a big risk disabling it, so I rather dont. Do you have any other ideas for testing first?

    Versions Upgraded From: 1.8.7.4
    Activated: Sep, 2025

    WOrdpress 6.9

    Yootheme 4.4.4

    Sysinfo shows: Webserver PHP 8.4.17 (although I downgraded live domain PHP to 8.2), Apache

    Before the Charitable update, mails where automatically sent after donations. That still doesnt work.

    • This reply was modified 2 months ago by daktulus.
    Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus Thank you for the update. It is good news that the “Resend” function is working this confirms that your site can send emails. Here are the next steps:

    You mentioned you couldn’t find the ofline email settings because you have the Lite version. These settings are available in the Lite version. Please check this screenshot: https://a.supportally.com/i/b1F0NC

    • Go to Donations → Settings → Emails.
    • Ensure “Donor: Offline Donation Receipt” is checked/enabled.
    • Note: If this is disabled, the donor will never receive an email for offline donations, even if the admin does.

    We need to know if Charitable tried to send the email and failed.

    • Go to Donations and click on one of the donations that did not send an email.
    • Look for a “Donation Log” . See this screenshot https://a.supportally.com/i/IFBFeP
    • Do you see an entry that says “Email sent” like in the screenshot or “Email failed”? Or is there no mention of an email at all?

    Also want to confirm that you have tested Offline Donations using a completely different email address (like a personal Yahoo or Hotmail account) than any email you have saved into Charitable settings to see if the receipt arrives there, like a test Gmail account.

    Clarify PHP Version & System Info There is a discrepancy in your report. You mentioned you downgraded to PHP 8.2, but your snippet says PHP 8.4.17. Just wanted to confirm what PHP version you WERE on and what you UPGRADED to since you mentioned this in your initial message. This gives key information to our support team. Also please paste the FULL System Info report. The snippet you provided is helpful, but the full report (found at Charitable → Tools → System Info) tells us possibly more relevant info You can use a site like Pastebin.com to share the link.

    While ChatGPT is helpful, it can sometimes misinterpret logs. Could you please share the actual error log file (it’s the debug.log generated by WP_DEBUG_LOG, maybe the same one you shared with ChatGPT – you can share specific error lines not showing sentitive information) with us directly (Pastebin)? We could do our own analysis.

    Also could you please provide a link to the donation page on your site? We would like to make a test offline donation ourselves to observe the behavior from a donor’s perspective and check the browser console for errors.

    Regarding the Theme: We understand the risk of switching themes on a live site. For now, let’s check the Email Settings and the System Info first. If you are overly caustious I would make a backup of the site before switching themes and testing with just Charitable plugin.

    We look forward to your reply with the additional info and with the info you provided to us so far our team will try to look into this further on our end. Thank you in advance for your patience.

    Thread Starter daktulus

    (@daktulus)

    Found the Log: When stripe was still active and I didnt have a SMTP plugin the log said: Email failed. Now it is being sent, when I press resend. The admin also gets mail. Offline is also working after I activated it. I cant test Paypal, because I cantntransfer to my own account, or is there a way to test Paypal?

    i didnt activate Stripe again, cant test since I dont have the creditcard data here, but will do that later.

    what is not working at all is the preview of the mails. I get te startpage after I press preview mail.

    I dont want to officially post my sensitive data. If I can send it directly to support, it would be OK. The PHP was only changed for the live site back to 8.2 the normal site is still 8.4 ChatGPT said I only need to change the live site, maybe that is not true since your log sees only the normal sites PHP.

    Offline notification is fine, but the most important thing is that the donor gets a mail with a key when he fully paid. I do not know if this is working so I cant open the donation again yet.

    Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus If you want to test Stripe, you can switch Charitable into test mode https://a.supportally.com/i/0Ja5iZ and connect to your test Stripe account in Stripe settings. Then you can use a test CC to test Stripe https://docs.stripe.com/testing More information on this can be found here: https://www.wpcharitable.com/documentation/charitable-stripe/

    So it sounds like offline emails are now working, because the email settings were activated. Just wanted to confirm? So we don’t need to focus on it.

    Are you talking about his preview button? https://a.supportally.com/i/bWObx9 Does all preview buttons on all email screens do this or just one? Have you reset your permalinks (There is plenty of documentation online to learn how to do this, like https://www.wpbeginner.com/beginners-guide/how-to-regenerate-your-permalinks-in-wordpress )

    The “Preview email” button is supposed to open a new tab with a URL like: https://yoursite.com/?charitable_action=preview_email&email_id=donation_receipt If that request is changed or redirected before our code runs, you’ll see the homepage instead of the preview. To narrow it down, we need a bit more info and a couple of quick tests.

    1. Exact URL when it fails

    • Click “Preview email” (e.g. on the Donation Receipt email settings).
    • As soon as the new tab opens, before any redirect:
    • Copy the full URL from the browser address bar and paste it here, or
    • If it redirects too fast: right‑click “Preview email” (the same button here https://a.supportally.com/i/bWObx9 )→ “Copy link address” and send us that URL.

    We need to know whether the link itself is correct (it should contain charitable_action=preview_email and email_id=donation_receipt or similar) or if the problem starts later.

    2. Manual test

    • Open a new browser tab.
    • Type your site’s homepage URL, then add exactly:

    ?charitable_action=preview_email&email_id=donation_receipt

    Example: https://yoursite.com?charitable_action=preview_email&email_id=donation_receipt

    • Press Enter.

    Tell us what happens:

    • A) You see the email preview.
    • B) You’re redirected to the homepage (or somewhere else).
    • C) You see a blank page or an error.

    3. Plugins that often affect this: These often alter or strip query parameters, or redirect requests:

    • Redirect plugins (e.g. Redirection, Simple 301 Redirects)
    • Security plugins (e.g. Wordfence, Sucuri, iThemes Security)
    • Caching plugins
    • “Clean URL” / “remove query strings” options in any plugin
    • Custom code in a plugin or theme.

    Please list which of these (or similar) you have active. If you can, try temporarily disabling only redirect, security, and caching plugins (or every plugin but Charitable) and test the preview again (and the manual URL above) and tell us if the preview then works.

    4. Incognito/private window

    • Open an incognito/private window (no extensions, no cache).
    • Log into WordPress and go to Donations → Settings → Emails → Donation Receipt.
    • Click “Preview email” (or open the manual URL from step 2).

    Does the preview show, or do you still get the homepage?

    5. Host / server

    • Are you on a managed host (e.g. WP Engine, Kinsta, Cloudways) or shared hosting?
    • Do you have any server-level redirects or “SEO”/“canonical URL” rules (e.g. in cPanel, or in .htaccess that you’ve added)?

    If the manual URL (step 2) works in incognito but the button still redirects when you’re logged in, we’ll focus on something that only runs when you’re in the admin. If the manual URL also redirects, the cause is likely a plugin, theme, or server rule affecting that URL. Again, this might be a good time to make a backup, switch to a default WordPress theme like we talked about, and test the preview button.

    Once you can send us:

    • The URL from step 1 (or confirmation that “Copy link address” shows the correct query string),
    • The result of step 2 (A, B, or C),
    • Which redirect/security/caching plugins you use.
    • And if you spot anything in the logs (PHP warnings or errors) let us know what you see and no ChatGPT analysis please. 🙂

    We can suggest the next step. Thank you!

    Thread Starter daktulus

    (@daktulus)

    Preview is not working no matter if I insert the address manually or not.
    The query string from link has a / after mydomain before ?
    Your Test 2): I always get homepage in new tab immediatly.
    In inkognito window the same

    I use Cloudflare for SSL.
    Plugins (from Charitable Sysinfo):

    -- Must-Use Plugins

    1&1 Product Subdomain: 1.1.0
    NinjaFirewall WP (mu-plugin): 1.0

    -- WordPress Active Plugins

    Better Search Replace: 1.4.10
    Charitable: 1.8.9.1
    Classic Editor: 1.6.7
    Contact Form 7: 6.1.1 (needs update - 6.1.4)
    CookieYes | GDPR Cookie Consent: 3.3.4 (needs update - 3.4.0)
    Disable Comments: 2.5.2 (needs update - 2.6.2)
    FluentSMTP: 2.2.95
    Limit Login Attempts Reloaded: 2.26.23 (needs update - 2.26.28)
    Loco Translate: 2.8.0 (needs update - 2.8.1)
    Manage Notification E-mails: 1.8.6
    NinjaFirewall (WP Edition): 4.7.5 (needs update - 4.8.3)
    Rank Math SEO: 1.0.257 (needs update - 1.0.263)
    Really Simple Security: 9.5.0.2 (needs update - 9.5.6)
    Safe Redirect Manager: 2.2.2
    UpdraftPlus - Backup/Restore: 1.25.7 (needs update - 1.26.1)
    WP Armour - Honeypot Anti Spam: 2.2.14 (needs update - 2.3.04)
    WP Content Copy Protection & No Right Click: 3.6.4 (needs update - 3.6.6)

    -- WordPress Inactive Plugins

    Advanced Custom Fields: 6.5.0 (needs update - 6.7.0)
    Advanced Editor Tools: 5.9.2
    Copy & Delete Posts: 1.5.0
    Jetpack: 15.0 (needs update - 15.4)
    Kadence Blocks – Gutenberg Blocks for Page Builder Features: 3.5.19 (needs update - 3.6.1)
    Webriti Companion: 1.9.8
    WP Super Cache: 3.0.1 (needs update - 3.0.3)

    Debug log (anonymized):
    [30-Jan-2026 22:59:24 UTC] PHP Warning: Undefined variable $medium in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/gateways/class-charitable-gateway-stripe-am.php on line 399
    [30-Jan-2026 22:59:24 UTC] PHP Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/admin/charitable-core-admin-functions.php on line 629
    [30-Jan-2026 22:59:26 UTC] PHP Warning: Undefined variable $medium in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/gateways/class-charitable-gateway-stripe-am.php on line 399
    [30-Jan-2026 22:59:26 UTC] PHP Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/admin/charitable-core-admin-functions.php on line 629
    [30-Jan-2026 22:59:28 UTC] PHP Warning: Undefined variable $medium in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/gateways/class-charitable-gateway-stripe-am.php on line 399
    [30-Jan-2026 22:59:28 UTC] PHP Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /homepages/42/dmynumber/htdocs/clickandbuilds/mydomain/wp-content/plugins/charitable/includes/admin/charitable-core-admin-functions.php on line 629

    Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus Thank you for that information! That definitely helped narrow things down potentially a bit. I would like for you to try running a debug tester tool specific for this issue. Forgive me asking a few questions again but it’s important i’m 100% clear on a few details.

    1. The preview window issue is happening on 8.2, 8.4, or both? Email issue was with both as well (while i’m asking)?
    2. Install WPCode Lite and activate it. Copy this code snippet (the page is a little odd, but the copy link works and it at the bottom) and paste it into a new PHP snippet in WPCode. Make sure the code is ACTIVATED in WPCODE (blue toggle switch). Also Make sure the code is running “everywhere” in WPCode. https://library.wpcode.com/snippet/g5gxnkxo/ Follow the instructions at the top of the code snippet. If successful you should see a report at yoursite.com/?charitable_debug=1 – showing you some vital info (green or red markers) and a button to re-test. I’ll need to know if the preview works and need to get all the info in that report.
    3. If you are showing any “red” or errors then you need to run one more additional script. Add a new snippet and set it to run “Everywhere.” Choose the snippet below that matches your PHP version: For PHP 8.2: Use this WPCode Snippet For PHP 8.4: Use this WPCode Snippet – Once these are installed, activated in WPCode AND “running “Everywhere” then reload the script and see if any errors change and if email preview redirects. We’ll want that report as well.

    The purpose of these reports is confirm if any environmental server factors might be involved, since we currently ruled out just PHP version conflicts with Charitable. We cannot reproduce the issue on multiple test servers in either PHP version, but your environment might be running something unique currently or at the time of plugin install or upgrade. The information you provide might help us narrow things down a bit, since we don’t have full access to all the information on your server setup. We have a few things left to try on the preview email issue but let’s try this for now. Let me know if you have any questions.

    Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus @khjobst A quick update: we have been actively analyzing the details gathered from this thread. While we haven’t been able to reproduce these specific issues across our test configurations, we have identified several adjustments regarding email handling that may improve compatibility with certain server environments.

    We are planning to release an update shortly that includes these refinements, along with additional diagnostic tools. These tools will allow us to gather more targeted information on specific environments if troubleshooting is still required.

    I will notify this thread as soon as the release is available. In the meantime, I wanted to ensure you are aware that we are continuing to look into this. Thank you for your patience as we put the finishing touches on this update.

    Thread Starter daktulus

    (@daktulus)

    you really have to work on your Plugin, I discovered so many bugs, e.g. the minimum amount is changing automatically to absurd numbers after revising the campaign, also it is not working with certain themes, especially Yootheme, HTML will not be taken in account in editor, no control working in dark themes, problem with mail, etc.

    A mailadress to send log reports with sensible data to you would also make sense.

    Please review everything and publish an update for Charitable. Reliability is very important for such plugins. I gave you lots of clues, including bug reports, but do not have the time to work on your plugin too much. Most important is that the donation safely gets transfered and a receipt mail is sent.

    Not being able to work properly with the editor is not as important, but should also be fixed. Right now I help myself with the additional information to be able to work with HTML (to get white text in dark theme), but it should be possible in editor even if you use Yootheme.

    Thank you in advance.

    Plugin Author David Bisset

    (@dimensionmedia)

    @daktulus Thank you for the update. We have been investigating this thoroughly on our end, including testing with the YooTheme framework.

    To be transparent: we have not been able to reproduce these issues (the email delivery failure or the preview redirect) in our testing environments. Because this appears to be isolated to your specific site, it strongly suggests a conflict within your WordPress configuration or server environment rather than a global bug in the plugin.

    We have just released Charitable 1.8.9.3. Please update to this version. While it contains several refinements, its most important addition for you is a suite of new diagnostic tools designed to help us see what is happening “under the hood” on your specific server.

    Next Steps:

    1. Update to 1.8.9.3: First backup. Then update.
    2. Review the New Logs: Navigate to Charitable → Tools and check the new Email System Diagnostics, Debug Log Scanner, and Donation Form Error Logs.
      • These logs are designed to respect donor privacy. Please review them and share any error messages or “Fail” statuses you see here. This data is much more helpful to us than general observations.
    3. Address the Theme Conflict: Our tests with YooTheme 5 showed no issues, but we see you are running version 4. We strongly recommend updating your theme to the latest version.
      • If you are concerned about making changes to your live site, we suggest creating a staged/backup environment. On that backup, switch to a default WordPress theme (like Twenty Twenty-Four), reset your permalinks, and test again. This is the only definitive way to rule out a theme conflict. If you aren’t comfortable doing this, your hosting provider can likely assist you in setting up a safe testing area.

    Without the data from the new logs or the results of a default theme test, we are limited in how much further we can troubleshoot so I’ll be happy to provide the additional information to our team. Thank you in advance.

    Plugin Author David Bisset

    (@dimensionmedia)

    We are going to go ahead and close this thread for now. But if you’d like us to assist further, please feel welcome to continue the conversation.

    FYI: In addition to the above update in which mentioned the release of Charitable with the additional debugging tools we do have one further suggestion. One recent customer had a bag “email tag” in their offline email donation settings that didn’t allow the email to be sent. Unknown if that is related to this issue, but in short time a new Charitable version (as of now 1.8.9.5) will have a fix for this edge-case and it might something to explore further to see if there are issues after that upgrade.

    Thanks!

Viewing 11 replies - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.