Supprimer l'entête Return-Receipt-To

L'entête Return-Receipt-To est une entête non standard, principalement (uniquement ?) ajouté par le client Outlook. Son but est d'avertir l'émetteur d'un mail quand le message arrive à destination (à ne pas confondre avec Disposition-notification-to qui est standard et qui a pour but d'avertir l'expéditeur à la lecture du message).

Cet entête ne pose normalement pas de problème, et est ignoré par les clients qui ne le prennent pas en charge. Les choses se compliquent un peu avec les BlackBerry: depuis une mise à jour du firmware (à priori depuis la 4.2), les BlackBerry envoient automatiquement un accusé de réception si cette entête est présente, et il est impossible de désactiver cette fonctionnalité

J'ai donc écris ce petit plugin pour qpsmtpd afin de supprimer cet entête lors de la réception:

#!/usr/bin/perl -wT =head1 NAME removereturnreceiptto =head1 DESCRIPTION Plugin that remove "Return-receipt-to" header =head1 AUTHOR Daniel Berteaud <daniel@firewall-services.com> =head1 LICENSE GNU GPL (GNU General Public License) =cut sub register { my ($self, $qp, %arg) = @_; $self->register_hook("data_post", "remove_return_receipt_to"); } sub remove_return_receipt_to { my ($self, $transaction) = @_; my $return = $self->get_return_addr($transaction) or return DECLINED; $self->log(LOGDEBUG, "Removing Return-Receipt-To: $return"); $transaction->header->delete('Return-receipt-to'); return DECLINED; } sub get_return_addr { my ($self, $transaction) = @_; my $addr = $transaction->header->get('Return-receipt-to') or return; return $addr; }

Et voilà, une fois activé, tous les mails seront nettoyés

Pour l'installer sur SME:

yum --enabelrepo=fws install smeserver-qpsmtpd-removereturnreceiptto signal-event email-update