Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Vladimir Ruscak 1 post 71 karma points
    Oct 19, 2023 @ 06:42
    Vladimir Ruscak
    0

    Resend campaign emails

    We recently purchased Newsletterstudio, it's handling everything nicelly although we are missing more settings.

    We are sending our email campaign to around 971 users, out of these only 802 got delivered and for 169 emails Delivery Failed which accounts for 17.4% of all emails.

    enter image description here

    This is unacceptable and we are missing features to be able to control what should happen to these emails once we get the status Delivery Failed.

    So why don't you add a simple solution in a form of a button in Delivery Failed section - Resend?

    enter image description here

    For selected campaing, I go to Delivery Failed page and I will keep pressing Resend button until all emails are sent.

    Problem lies in MSOffice365 SMTP limitations I guess that they introduced. By above solution I can simply do resending manually, another solution would be to introduce more email settings and specify how email sending should be handled.

    https://learn.microsoft.com/en-us/exchange/troubleshoot/send-emails/smtp-submission-improvements#new-throttling-limit-for-concurrent-connections-that-submit-messages

    https://learn.microsoft.com/en-us/office365/servicedescriptions/exchange-online-service-description/exchange-online-limits

    So simple setting would be -

    Send email in a batch of X emails per minute

    Obviously there could be more SMTP settings, but this one would do just fine.

    Or is there any other way to fix this?

  • Markus Johansson 1924 posts 5831 karma points MVP 2x c-trib
    Oct 23, 2023 @ 08:36
    Markus Johansson
    0

    Hi!

    Since you also sent an e-mail I guess that the best way to keep communicating about this issue is over email but I will share some of my answers here if others have similar problems.

    The problem is not really with the package but with the SMTP provider that you're using. If they introduce limits or blocks you from sending there is really not much we can do about this. You are probably right, that this is due to rate limiting – we’ve added a feature to configure the SMTP for rate limiting in the latest release of the supported versions (for Umbraco 8, 10, 11 and 12).

    https://www.newsletterstudio.org/blog/support-for-smtp-rate-limits-throttling/

    After installing this version you can configure the package to respect a certain rate limit (we screenshot below), which should solve your problem.

    enter image description here

    It’s not a bad idea to be able to “reset” any items flagged as “Delivery failed” and “Resend” the campaign to these recipients. The original intent for the “Delivery failed”-status is more aimed toward removed email accounts and other types of problems that are only related to the individual recipient. It’s not intended to handle these types of “configuration issues” or SMTP-provider issues. When the configuration is solid these types of errors should be very rare and the need to resend should also be very limited. However – I will add the idea to the backlog and consider it for development when there is time.

    If it is really important for you to resend these emails you could run a SQL-script that resets the status of the queued items and update the status of the campaign so that it would try to resend these.

    With the help of these docs: https://www.newsletterstudio.org/documentation/package/12.0.0/develop/database-tables/

    A script like this should do the work, after executing this the background-worker would pick up the campaign and send to the recipients that used to have status “Delivery Failed”.

    Something like this:

    -- Change status of failed deliveries back to "Available"
    UPDATE [nsTrackingCampaignEmail] SET [status] = 0 WHERE [status] = 2 AND [campaignId] = x 
    
    -- Set the status of the Campaign Email to "Sending" - background worker will pick this up.
    UPDATE [nsCampaignEmail] SET [status] = 2 WHERE id = x 
    

    The “campaignId” (int) can be found in the nsCampaignEmail-table.

    I’m more than happy to continue to assist so please reach out if you need further help!

Please Sign in or register to post replies

Write your reply to:

Draft