tuto:ipasserelle:mail:supprimer_entete_return_receipt_to

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:

removereturnreceiptto
#!/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
  • tuto/ipasserelle/mail/supprimer_entete_return_receipt_to.txt
  • Dernière modification: 12/07/2012 18:20
  • de dani