26 Matching Annotations
  1. Sep 2023
  2. May 2023
    1. An example of how to toggle tracking on a per-message basis. Note the o:tracking option. This will disable link rewriting for this message:
  3. Mar 2023
  4. Jan 2023
    1. As an email service provider (ESP), Mailgun’s API support is all about programmatic solutions to make your email program more efficient and successful at scale. Our email API is a specific type of API that you can use to connect your web app or platform to an ESP to use its features within your own application.
  5. Dec 2022
    1. Dilemma: Do I use this unofficial library with its really nice idiomatic API or the official library (https://github.com/mailgun/mailgun-ruby) with its inferior API?

      I wish this one was still/better maintained because I'd much rather use this API, like: @mailgun.lists.create "devs@your.mailgun.domain" @mailgun.lists.list @mailgun.lists.find "devs@your.mailgun.domain"

      but it's not maintained, and looks like it doesn't have the word events in the source at all, so it's missing any way to use the Events API. :(

    1. Can't annotate on https://feedback.mailgun.com/forums/156243-feature-requests/suggestions/39905227-provide-meaningful-delivery-status-description-rat so posting here instead.

      Anonymous commented · May 26, 2021 4:36 AM

      Without your comment I'd never find the real issue, because I was only look at permanent failures. That error message is really misleading, hope they can fix this.

      Kelly commented · December 30, 2020 2:35 AM

      Yes we desperately need this too. Half of our recipients were soft bounced due to "Too old" but we could still send to them previously on other ESPs.

    2. Certain email servers, Yahoo especially, throttle deliveries when multiple inbound is detected from the same IP. When this happens, Mailgun sends a "temporary" severity bounce. Mailgun will continue to retry over a period of time. If it can't deliver after 8 hours. The email will permanently fail with severity: permanent and reason: old.
    3. Just to add that there is also reason: old. This happens when email cannot be delivered after 8 hours. It should still be treated as a non permanent bounce though.
    4. I did some further digging and found that there is a reason property that can be used to determine whether Mailgun added an email address to its bounce suppression list:
    5. ...but even repeated soft bounces is a message level event, not one that means there will never be an opportunity to deliver to this address again. Hence Mailgun itself not adding this to their permanent uppression list..but that implies, right, that they will send to the permanent failure hook in this case?

      That could be a problem, if it actually send to the permanent failure hook in this case. Then you would have to hit their bounces API to check whether it's actually a permanent failure / hard bounce for the recipient as opposed to just for this message.

    6. From that quote above, it is clear Mailgun recognise this issue themselves (the possibility of one-off soft bounces for a variety of reasons) and therefore do not add these contacts to their permanent bounce list - unless its a true hard bounce. But they are rightly still alerting that the message in question has permanently failed to be delivered on this occasion.
    7. Mailgun, with its permanent failure webhook, is sending a message about a permanent failure of that specific message - it is Campaign that is then making a decision to translate this message, about just that one message, into a permanently bounced (suppressed) contact, and blocking all future emails to that contact - based on, what is clearly quite possibly just a temporary failure. It's really the distinction between a single message level (temporary) problem and a (permanent) contact level problem that is being lost with Campaign's current approach.
    8. but that before marking the contact as a bounced, Campaign should double check it was really a hard bounce that would affect future deliverability.
    9. some are legit bounces (people who typed emails wrongly etc) - but some are 'too old' which is a generic deliverability type message (according to Mailgun)

      too old error

    10. This becomes, then, a thorny problem - these perfectly valid emails, that are affected by this temporary issue - are marked as permanently bounced in Campaign...when they really shouldn't be given this bigger picture.
    11. But these are not permanent failures - they ARE permanent for that message of course

      Exactly. I arrived at the same conclusion.

    12. his is not wonderfully clear/great form Mailgun's end (as they are effectively translating a temporary delivery issues into a message about a permanent contact failure) - but the net effect is pretty broken handling of temporary bounces against contacts, which just creates inaccuracies and a bit of a mess.
    13. but really anyone using Mailgun is going to want this, aren't they?
    14. Mailgun, like all of these services at the more affordable levels, uses shared IPs for sending the mail. Unfortunately, as I have found over the last 3 or 4 years with them, it is not uncommon that one of their IPs gets blacklisted by SpamCop and similar services due to some other user of that IP being 'noisy' as Mailgun put it.
    15. Yes you could disable the Mailgun webhooks altogether as Mailgun will never allow sending to hard bounced email addresses.
  6. Nov 2022
    1. Set the endpoint to Mailgun's Postbin. A Postbin is a web service that allows you to post data, which is then displayed through a browser. This allows you to quickly determine what is actually being transmitted to Mailgun's API.
  7. Oct 2021