Why emails may fail to reach their destination - an explanation for
non-IT people It is all too easy to blame Spire or any other
application for failure of emails to reach their destination. In
reality the application has very little to do in the process of
sending out emails. It really only initiates the process - the bulk
of the process is handled outside of the application, out on the
internet. It’s NOT up to the application to deliver the emails to
their destination. The ONLY thing the application does is provide
the emails to a mail server and from then on it is completely out of
the control of the application. To understand why this is the case, here is how emailing works in
Spire, and in most other software applications. The basic premise
here is that email is handled on the internet by mail servers, also
known as SMTP servers. These pass email between them, on a route
that goes through sometimes a great many "hops" or steps along the
way. Sometimes as many as 20 or 30 or even more. The email can fail
to proceed any further at any point along the way. Sometimes these
failures generate a failure message that is sent back to the sender
of the email (NOT to the software application), and sometimes it
just silently fails. Delays can occur as well. The most common
reason for email failing to send out is improper credentials and
parameters provided in the configuration of the application.
However, when this is the case, the application would usually tell
the user via an error message (Spire certainly does this). Here's
the procedure that software generally follows to send email:
- The program assembles a list of email recipients, their
email addresses, and the content of each email to be sent.
- It retrieves and sets various parameters for the email, such as the
mail server name, the user name and password, etc
- For each email to be sent, it adds body text and an attachment,
and the recipients.
- Think of all of the above as a “package”.
- It makes contact with the mail server, passing the credentials to be
able to log in to the mail server (username and password, plus some
other parameters). Mail servers require log on credentials so they know
the use of them is legitimate.
- If the application is unable to contact the mail server, or the mail server
rejects the request (usually due to improper credentials being provided), the application will present you with an error and stop
the emailing process.
- In the same step it also hands off this “package” to the mail server.
If it is successful in contacting and logging into the mail server,
then at that point the mail server also now has the email to be sent.
- If there are any issues with what the application has provided to the
mail server, again, the application will present you with an error.
- After this point, the application will be completely finished with the
process, leaving the rest up to the initial mail server. The mail server has
received and accepted the proper authentication, and the proper email parameters and
the email itself.
- After this point, it is 100% up to the mail server to continue with
the actual process of sending the email on its way.
- It’s the mail server
which does the actual work of sending the email.
-
After this point, the mail server no longer has any link back to
communicate to the application of any success or failure. **Therefore NO
further errors can be presented to the application user as to
the success or failure of the email being sent.
- In other words, what happens to the email after being successfully presented to the
mail server is out of the hands of the application.
- Many things can happen to an email once the mail server starts to
process it. The mail server can fail to send it onwards, and the app
would not be notified of this. Or at one of the many steps (hops) along the
way from the mail server to the final destination, the process could
fail for any number of reasons.
- Also, a particular problem these days are overly aggressive
spam filters and blacklists, etc, that prevent email from moving
forward.
- In some cases, a mail server along the way will refuse to proceed if
too many emails from the same source are presented to it in one “go”. In
this case, the initial email server would probably reject the “package” and thus the
app would present you with an error. However, that may happen farther
along the route on the internet, and thus the application would
not be made aware of this situation.
In summary ... if you have email issues in Spire or in
another software application ...
- Check the authentication credentials in the application
configuration
- Please don't immediately blame Spire or the application
for the failure. There are many possible reasons outside of
that for the failure.
|