Sympa allows bounce (non-delivery report) management. This prevents list owners from receiving each bounce (1 per message sent to a bouncing subscriber) in their own mailbox. Without automatic processing of bounces, list owners either go mad, or just delete them without further attention.
Bounces are received at mylist-owner address (note that the -owner
suffix can be customized, see 7.8.4,
page ), which should
be sent to the bouncequeue program via aliases :
\samplelist-owner: "|/usr/local/sympa-os/bin/bouncequeue \samplelist"
bouncequeue (see 2.2, page ) stores bounces in a
/usr/local/sympa-os/spool/bounce/ spool.
Bounces are then processed by the bounced.pl daemon. This daemon analyses bounces to find out which e-mail addresses are concerned and what kind of error was generated. If bouncing addresses match a subscriber's address, information is stored in the Sympa database (in subscriber_table). Moreover, the most recent bounce itself is archived in bounce_path/mylist/email (where bounce_path is defined in a wwsympa.conf parameter and email is the user e-mail address).
When reviewing a list, bouncing addresses are tagged as bouncing. You may access further information such as dates of first and last bounces, number of received bounces for the address, the last bounce itself.
With these informations, the automatic bounce management is possible:
Bounces count: The number of bouncing messages received by sympa for the user.
Type rate : Bounces are classified depending on the type of errors generated on the user side. If the error type is "mailbox is full" (ie a temporary 4.2.2 error type) the type rate will be 0.5 whereas permanent errors (5.x.x) have a type rate equal to 1.
Regularity rate : This rate tells if the bounces where received regularly, compared to list traffic. The list traffic is deduced from msg_count file data.
The score formula is : Score = bounce_count * type_rate * regularity_rate
To avoid making decisions (ie defining a score) without enough relevant data, the score is not evaluated if :
Bouncing list members entries get expired after a given period of time. The default period is 10 days but it can
be customized if you write a new expire_bounce task (see 7.8.5 ,page ).
VERP (Variable Envelop Return Path) is used to ease automatic recognition of subscribers email address when receiving a bounce. If VERP is enabled, the subscriber address is encoded in the return path itself so Sympa bounce management processus (bounced) will use the address the bounce was received for to retreive the subscriber email. This is very usefull because sometimes, non delivery report don't contain the initial subscriber email address but an alternative address where messages are forwarded. VERP is the only solution to detect automaticaly these subscriber errors but the cost of VERP is significant, indeed VERP requires to distribute a separate message for each subscriber and break the bulk emailer grouping optimization.
In order to benefit from VERP and keep distribution process fast, Sympa enables VERP only for a share
of the list members. If texttt verp_rate (see 7.8.1,page ) is 10% then after 10 messages distributed in the list
all subscribers have received at least one message where VERP was enabled. Later distribution message enable
VERP also for all users where some bounce wer collected and analysed by previous VERP mechanism.
If VERP is enabled, the format of the messages return path are as follows :
Return-Path: <bounce+user==a==userdomain==listname@listdomain>Note that you need to set a mail alias for the generic bounce+* alias (see 6.1, page
ARF (Abuse Feedback Reporting Format) is standard for reporting abuse. It is implemented mainly in AOL email user interface. Aol server propose to mass mailer to received automatically the users complain by formated messages. Because many subscribers don't want to remind how to unsubscribe tey use ARF when provided by user interface. It may usefull to configure the ARF managment in Sympa. It really simple : all what you have to do is to create a new alias for each virtual robot as the following :
abuse-feedback-report: "| /usr/local/sympa-os/bin/bouncequeue sympa@\samplerobot"\\
Then register this address as your loop back email address with ISP (for exemple AOL). This way messages to that email adress are processed by bounced deamon and opt-out opt-out-list abuse and automatically processed. If bounce service can remove a user the message report feedback is forwarded to the list owner. Unrecognize message are forwarded to the listmaster.