Re: gen_smtp: be notified on failed delivery message

Frank Muller <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CAFA6GnDTwUCsCzD2-uJjB7chH0hT7dHkC2+OQnW_Leadv0m_qg@mail.gmail.com>
Thanks Marc and Leonard.

/Frank

Wed. 13 jan 2021 20:59, Leonard B <[email protected]> wrote :

> Hi Frank,
>
> There are basically 2 classes of errors.
>
> 1. Errors which are derived from the delivery process. These would include
>   a) network errors (nxdomain etc)
>   b) mailboxes not existing/disabled etc (response to RCPT TO command.
> Be aware that many servers do *not* follow the RFC and will lie)
>   c) the dreaded 'blocking' of you connection for whatever reason the
> remote server decides to use
>
> 2. 'soft bounce' errors:
>   These occur when certain servers, eg outlook, will accept an email
> for delivery, and then email you back to tell you about some type of
> error.
>   You'd need to have a server receiving mail to receive the 'soft'
> errors since they are email back to you and not part of the SMTP
> transaction.
>
> There is a 3rd class of error (Yahoo/AOL and friends):
> Their servers will say that the mailbox exists (in response to RCPT
> TO:) and then tell you a mailbox does not exist _after you send your
> DATA_.
>
> Kind regards,
> Leonard
>
> On Wed, Jan 13, 2021 at 1:31 PM Frank Muller <[email protected]>
> wrote:
> >
> > Thanks for the pointers Marc.
> >
> > Do I need to implement the server part to check for errors? Can’t the
> gen_smtp “client” be notified in case of misspelled address (or unresolved
> domain, MX, etc.)?
> >
> > /Frank
> >
> > Wed. 13 jan 2021 10:25, Marc Worrell <[email protected]> wrote :
> >>
> >> Hi Frank,
> >>
> >> Yes, gen_smtp can report failures that happen during communication with
> the remote smtp server.
> >> Will also report failures if it can’t resolve the domain or find a MX
> server.
> >>
> >> Late bounces (sent by the remote mail agent) must be handled by your
> own code.
> >>
> >> In Zotonic we have an example of handling such bounces.
> >>
> >> Check for our mail sending code (which also uses mnesia for queueing):
> >>
> >>
> https://github.com/zotonic/zotonic/blob/master/apps/zotonic_core/src/smtp/z_email_server.erl
> >>
> >> And for receiving email, including parsing and handling of bounce
> messages:
> >>
> >>
> https://github.com/zotonic/zotonic/tree/master/apps/zotonic_listen_smtp/src
> >>
> >> Cheers,
> >>
> >> Marc
> >>
> >>
> >> On 13 Jan 2021, at 09:18, Frank Muller <[email protected]>
> wrote:
> >>
> >> Hi everyone
> >>
> >> I’m considering using gen_smtp (https://github.com/gen-smtp/gen_smtp)
> in one of my apps.
> >>
> >> Question: is there a way to be notified on failed delivery message if
> for example the destination email address was misspelled?
> >>
> >> Thanks
> >> /Frank
> >>
> >>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.