I've been asked in the past to provide my users on many occasion a way to remove "Read Receipts" (generic for Read-Receipt-To, Disposition-Notification-To, etc.) - while there are differences between when and how the Read-Receipt, Disposition-Notification, etc. is handled, bottom line is my users wanted to be able to receive mail without necessarily sending anything back to the sender for privacy and security reasons.
In any event, Exim provides this ability (and so much more). There's probably much better ways to do this (ie. keep a log of when this is done, or change the subject of the message to relfect the change has been made), and with some basic reading up on Exim's doc's I'm sure you can mod this to do much more, but here's a start for anyone else who may need something like this in the future.
First, we'll do this based on a system filter (again, there are other ways to do it) since I want to do it to each and every message that comes in to MailCleaner. Here goes.
Code:
cd /usr/mailcleaner/etc/exim
nano system.filter
now put this in to the newly created filter file: (found this seemingly exhastive list of headers from a VB script someone created for exchange)
Code:
# Exim Filter
headers remove X-Confirm-Reading-To:Return-Receipt-To:Disposition-Notification-To:Receipt-Requested-To:Confirm-Reading-To:MDRcpt-To:MDSend-Notifications-To:Smtp-Rcpt-To:Read-Receipt-To:Delivery-Receipt-To:Errors-To:X-IMAPBase:X-IMAP:X-UID:Status:X-Status:X-UIDL:X-Keywords:X-Mozilla-Status:X-Mozilla-Status2
save it off. Now, let's modify the exim_stage1.conf_template file (note, modifications need to be done to the _template file or they will be lost when you restart)
Code:
nano exim_stage1.conf_template
scroll down to this:
Code:
perl_startup = do '__SRCDIR__/etc/exim/stage1_scripts.pl'
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl
acl_check_conn:
and right after the "perl_startup...." and before the line of ""###########", add the following:
Code:
perl_startup = do '__SRCDIR__/etc/exim/stage1_scripts.pl'
system_filter = __SRCDIR__/etc/exim/system.filter
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl
acl_check_conn:
That's it, now save it off. Now, we can restart exim_stage1 to have the changes take effect
Code:
/usr/mailcleaner/etc/init.d/exim_stage1 restart
Now messages will be delivered to your users without any read/return receipts.
Hope it helps. If anyone has improvements, please share! Thanks.
