Bounce Processing
In onCourse it is possible to select a list of students (contacts) and send an email to them. Often there are invalid email addresses in the onCourse contacts lists.
You can have onCourse deal with these in automated fashion.
In onCourse client mail and bounce process settings can be found in General Preferences -> tab “Messaging”.
Outgoing mails (SMTP):
- Outgoing mail server address (SMTP), e.g. “mail.domain.com”
- Email from address, e.g. “staff@domain.com”. This is the default address that appears in the “From” and “Reply to” header at the recipient and is therefore seen by him. It is not the real (envelope) sender address used by the technical system and the mail is not bounced to this address. When someone sends emails he also has the possibility to specify a “From” address in the “Send” dialog. If he enters a different address there then this one is used and not the address of the General Preferences.
- Emails queued
- System administrator email address
To process bounce mails it is necessary to have up an incoming mail server which supports plus addressing (ie. will accept emails in the format
Incoming mails (POP3):
- Incoming mail server address (POP3), e.g. “mail.domain.com”
- Email address to which bounces are sent, e.g. “test@domain.com”. This address is extended with a plus tag and then used as the envelope sender. The plus tag must be unique and provides a way to identify the original sent message and the belonging contact. For onCourse it seems obvious to use the primary key of the table MessagePerson. So an example could be “test+123@domain.com”.
- Account, e.g. “test” (Authentication)
- Password, e.g. “test123” (Authentication)
The same thread in onCourse server which sends out emails is also used for receiving the bounced mails. After detecting the id (record) the following happens:
- The message for that particular contact is marked as failed which is done by changing the “status” from “sent” to failed”.
- The number of bounces for an contact email address are saved. If that reaches the value 6 then in the contact dialog the email address is marked as “undeliverable”.
- The message of the bounce mail is forwarded to the person who originally sent the mail. In front of that message the following text is included: “This message was unable to be delivered to the recipient. onCourse has already noted it as undeliverable against this recipient. Please check to see if any action is required on your part.”
Technical details of dealing with bounced email
If an email is not received by the recipient a bounce mail is created which is sent back to the sender. There are two possibilities:
- Hard bounce: recipients address is invalid (domain name does not exist, technical problems on the recipients server, mistake in writing), bounced by senders mail server
- Soft bounce: message gets as far a the recipients mail server but it is bounced back before it reached the recipient (mail box full etc.), bounced by recipients mail server
VERP (Variable envelope return path):
Bounce messages are originally designed to be read by humans, not by machines. So there are so many variations (terminology, languages) that it would be nearly impossible to write a program to reliably interpret every bounce message and filter all bounce mails.
The idea behind VERP is that there is only one aspect of a bounce message that is highly predictable: the address to which the bounce mail is sent.
So in a mailing list used VERP, a different sender is used for each recipient. This is done by using the envelope sender: the real information used by the technical system. The envelope sender is never seen by the user who only sees the “From” Header field.
The JavaMail Api provides for that purpose a class SMTPMessage which inherits from MimeMessage. SMTPMessage has a method “setEnvelopeFrom(java.lang.String from)”.
The bounces must be sent to the envelope sender. This is standard (RFC 821), but there could be some mail server bouncing to the From header.
Newsletter subscription
ish makes regular updates to ish onCourse, and we like to let our customers know about them as soon as they're available.
Latest News
- Have your say about the future of AVETMISS 1 Jul 2010
- onCourse 1.7.21 3 Jun 2010
- What is a managed web solution really all about? 6 May 2010
- onCourse 1.7.19 bug fix release 19 Apr 2010
- onCourse 1.7.17 bug fixes 25 Feb 2010
