2011-12-12 1 views
0

Il s'agit d'une de ces questions difficiles à expliquer. J'ai fait de mon mieux ci-dessous, j'espère que c'est clair ce que je veux dire.Identification de l'endroit où un message a été transféré

Les e-mails arrivent à une adresse ([email protected]) et sont transmis à une autre adresse e-mail ([email protected]). La deuxième adresse électronique redirige l'e-mail vers un script simple, mais le script doit connaître la deuxième adresse e-mail car elle fournit des métadonnées essentielles au tri du message (c'est-à-dire que le script reçoit tous les e-mails envoyés à * @ subdomain.example.com, et il doit voir qu'il a été transmis à [email protected] afin de traiter correctement le message entrant).

A l'origine, je pensais que l'alias virtuel utilisé pour transférer des messages de [email protected] à [email protected] mettra à jour la à enveloppe en-tête, mais il reste inchangé même. Aucun des autres en-têtes ni la ligne "reçu" ne reflètent que le message a été transmis. Ma théorie est que peut-être les instructions de tuyau pour *@subdomain.example.com peuvent être mises à jour pour passer en quelque sorte l'adresse réelle sur le script, mais je ne suis pas sûr de savoir comment.

Pour référence, j'ai inclus quelques exemples ci-dessous:

têtes, après avoir été transmis:

From [email protected] Sun Dec 11 19:53:40 2011 
Envelope-to: [email protected] 
Received: ... 
Subject: Test 6 

Le fichier valias pour subdomain.example.com (/etc/valiases/subdomain.example .com):

*: "|/home/user/example_script.x.php" 

Répondre

0

Et j'ai répondu à ma propre question. Il s'avère que le destinataire est accessible dans une variable d'environnement. Dans mon cas, puisque j'utilise PHP, je peux juste utiliser la variable suivante:

$_ENV['RECIPIENT'] 
Questions connexes