Lire l'adresse de l'expéditeur d'un message [A moitié résolu] - PHP - Programmation
Marsh Posté le 12-09-2005 à 19:01:15
Kiosquec a écrit : J'ai un programme qui récupère mes messages sur une BAL (Wanadoo ou Laposte), en pop3 ou en imap. |
Je complète ma question...
Parfois, le header contient un champ "reply_to". Mais pas toujours. Quand le champ est présent, pas de problème, j'ai mon info. Mais c'est galère quand il ne figure pas, car l'adresse n'est visible nulle part en clair dans la structure du header.
Nota : la structure du header est visible par ceci :
if ($mail_cnx = imap_open("{".$serveur_entrant.":".$port."/".$protocole."}".$boite, $identifiant, $mot_de_passe) ):
$nbr_mails = imap_num_msg($mail_cnx);
endif;
if ($nbr_mails == 0):
echo "Pas de nouveau mail<br />\n";
else:
for ($i = 1; $i <= $nbr_mails; $i++) {
$header = imap_fetchheader($mail_cnx, $i, FT_PREFETCHTEXT);
$decode = new Mail_mimeDecode($header, "\r\n" );
$structure = $decode->decode();
print_r($structure);
}
endif;
Pourtant, si je me positionne sur le site de messagerie, par exemple www.laposte.net, je peux faire une réponse à un message, et l'adresse du destinataire s'affiche dans le formulaire d'envoi. C'est donc bien qu'il est récupérable. Mais où et comment ?
Marsh Posté le 13-09-2005 à 09:58:33
blablagerezkljrez a écrit : Tu peut éventuellement utiliser la fonction [EDIT http://forum-images.hardware.fr/th [...] 1/edit.gif] |
Merci... Euh !... c'est quoi cette fonction ? Du php ? Un exemple ?
Marsh Posté le 13-09-2005 à 10:01:49
Configure un logiciel genre thunderbird pour qu'il lise tes messages sur cette bal et s'il recupere ce que tu veux c'est que tu as mal cherché
Marsh Posté le 13-09-2005 à 10:11:40
Kiosquec a écrit : Merci... Euh !... c'est quoi cette fonction ? Du php ? Un exemple ? |
non, juste un bouton au dessus du texte du message. Utile pour compléter ou modifier une réponse ou une question.
Marsh Posté le 14-09-2005 à 12:02:38
Le problème est partiellement résolu.
Le header contient un champ Return-Path, qui apparaît vide, ou qui contient un alias inutilisable.
J'ai regardé ce qu'il en est avec Thunderbird.
J'édite le fichier inbox et je constate que le champ Return-Path ressemble à ceci :
Return-Path: MACHIN Truc Bidule.etc <truc.machin@un_fai.fr>
ou à ceci :
Return-Path: <truc.machin@un_fai.fr>
Lue dans un navigateur web, l'instruction de structure renvoie :
Return-Path:
Si je trafique $header avec ceci :
$header = ereg_replace("<|>","#",$header);
l'instruction de structure me renvoie par exemple ceci :
Return-Path: MACHIN Truc Bidule.etc #truc.machin@un_fai.fr#
En recherchant la position des #, je peux isoler l'adresse truc.machin@un_fai.fr et le tour est joué !
Si quelqu'un a une solution plus élégante, je suis preneur (et demandeur).
Problème à moitié résolu, car je ne peux pas répondre pour autant à tout le monde :
laposte.net me demande un smtp authentifié (je fais comment en php pour authentifier le smtp ???)
wanadoo.fr veut bien répondre aux abonnés wanadoo, mais refuse de relayer aux autres destinataires. (En partant du principe que j'utilise comme expéditeur ma Bal truc@wanadoo.fr).
J'ai bien précisé un champ "from" dans mon message, mais ça ne suffit pas à empêcher l'anti relai de bloquer ma réponse.
Marsh Posté le 14-09-2005 à 13:52:16
Kiosquec a écrit : Le header contient un champ Return-Path, qui apparaît vide, ou qui contient un alias inutilisable. |
et tu vois pas le champ from ??
Kiosquec a écrit : Problème à moitié résolu, car je ne peux pas répondre pour autant à tout le monde : |
non, avec le smtp de wanadoo tu peux envoyer des messages à tout le monde, et tu peux modifier le champ from, donc vérifie ton script et reessaye
Marsh Posté le 12-09-2005 à 11:39:43
J'ai un programme qui récupère mes messages sur une BAL (Wanadoo ou Laposte), en pop3 ou en imap.
Je peux lire le header et le corps du message (pas encore les pièces jointes, question ultérieure).
Dans le header, je ne parviens pas à isoler l'adresse de l"expéditeur (pour lui envoyer en retour un mail).
J'ai essayé diverses fonctions IMAP à partir de imap_open.
imap_header() possède diverses propriétés, parmi lesquelles 'from', 'in_reply_to', 'remail', 'return_pathaddress', 'sender', 'senderaddress', 'toaddress' etc.
Aucune ne me renvoie d'infos
Il m'est arrivé d'obtenir un alias de l'expéditeur (avec une autre messagerie), mais pas l'adresse qui va avec.
Une hypothèse, c'est que ni Wanadoo ni Laposte ne permettent de lire cette adresse. (Quelle BAL utiliser alors ?)
Une autre hypothèse, c'est que je patauge avec les fonctions.
J'ai vu que certaines fonctions renvoient en fait un tableau...
Bref, si quelqu'un peut me fournir le lien vers un exemple qui fonctionne...
Message édité par Kiosquec le 14-09-2005 à 12:08:38