

Status: 5.1.2 (bad destination system: no such domain) Require 'net/smtp' verp = from = to = verp host = '' port = 25 message = delivery failed will not continue message/delivery-status Simulating a bounce to test the bounce handling mechanism is as simple as sending an email in the right bounce format to a VERP address configured to handle bounces. That’s where even commercial tools like PowerMTA’s bounce and feedback loops processor fall short. Some Message Transfer Agents (MTAs) provide support for processing bounces, but rolling out a custom implementation to process bounces is an option too.Īnother alternative would be to use a commercial tool like Bounce Studio which has a built-in heuristics to categorize even the bounces that are not formatted by the RFC 3463 spec. They are usually treated as soft bounces, but they need to be carefully checked because they could hide an issue on the sending side like wrong format of the "From" header for an example. An example would be when an account is over quota limit.īounces that failed because of a technical reason. They can be retried few times but if issue persist they should be treated as permanent. Sending emails to non-existent mailbox will cause a reputation damage.īounces that failed because of a temporary reason. In this group we have reasons like "bad-domain" and "bad-mailbox". It can be sync or async in nature and it has a reason like: “bad-domain”, “bad-mailbox”, “quota-issues”, “spam-related”, “virus-related”, etc.īounces that failed because of a permanent reason and should not be retried. Hard, soft and general bouncesĪ bounce is an automated message sent from a receiving mail server back to the sending mail server to inform about a delivery problem.


Some might ask why not use a custom header field instead!? It’s because some mail servers does not return all headers from the original message which leads to difficulties in determining the details. Once an email is received and routed to the application, from the IDs in the local-part of the email address we can find the Email, Sender and Recipient models and do what’s necessary with them.
#X powermta bouncecategory software#
The Return-Path of the email is set to a value like and MTA software is configured to accept all incoming emails matching pattern.
#X powermta bouncecategory how to#
To give a more practical example of how to use VERP, imagine there are 3 models in an application: Email that has one Sender and many Recipient models. It’s different from the “From” header field. “Return-Path” is the Envelope from address which tells the receiving mail server where to return the message if it needs to. Variable Envelope Return Path (VERP) is a technique for setting the “Return-Path” header field in order to be able to identify other details for a message on application side. Ignoring to process this valuable feedback from Internet Service Providers (ISPs) will cause IPs to end-up on various blacklists and deliverability to suffer. Handling Bounces, Feedback Loops (FBLs) and List-Unsubscribe requests is critical for the reputation of an email delivery system.
