OVH Community, votre nouvel espace communautaire.

Nettoyer une BDD des mauvaises adresse mails avec API


popcode
01/04/2010, 12h28
Bonjour,
Il semble que j'ai résolu mon problème: la fonction "automatedGetErrors" semble servir à résoudre ce genre de problème...

J'ai recopié le code suivant depuis la génération automatique de code de l'api:
Code:
login("xxxxxx-ovh", "******","fr", false);
 echo "login successfull\n";

 //automatedMailGetErrors
 $result = $soap->automatedMailGetErrors($session, "xxxx", "3", "100");
 echo "automatedMailGetErrors successfull\n";
 print_r($result); // your code here ...

 //logout
 $soap->logout($session);
 echo "logout successfull\n";

} catch(SoapFault $fault) {
 echo $fault;
}

?>
J'ai envoyé quelques messages dont certains à des fausses adresses. Puis j'ai lancé le script ci-dessus.

Et voici la réponse :
Code:
login successfull 
automatedMailGetErrors successfull 
//c'est ici que ça devient intéressant: (j'indente le code)
Array ( 
[0] => stdClass Object ( [to] => jkdkmqme@gmail.com [total] => 8 [date] => 2010-03-31 23:05:58 [message] => 209.85.227.27 does not like recipient. (220_mx.google.com_ESMTP_1si5930972bky.94?) HELO_18.mail-out.ovh.net 250_mx.google.com_at_your_service?) MAIL_FROM:=250_2.1.0_OK_1si5930972bky.94? RCPT_TO:=
//(...) 
 ) 
[1] => stdClass Object ( [to] => ddsle887552@skynet.be [total] => 2 [date] => 2010-04-01 12:04:54 [message] => 195.238.5.129 does not like recipient. 
//(...)
 ) 
[2] => stdClass Object ( [to] => xxxxx@redcross-fr.be [total] => 1 [date] => 2010-04-01 12:17:11 [message] => 
//(...)
 ) )
L'api me renvoie donc, pour chaque destinataire litigieux, un objet. La propriété "to" de cet objet contient l'adresse du destinataire litigieux, "date" la date du message, "message" le message, "total" le nombre de messages envoyés et rejetés.

Il ne me reste plus qu'à nettoyer ma base de donnée de toutes les adresses qui me reviennent pour garder un fichier propre.

Julien

PS: J'ai aussi envoyé des messages à des noms de domaines bidons, genre "test.be" qui, eux, ne m'ont pas renvoyé de message d'erreur.

Gaston_Phone
01/04/2010, 07h28
C'est en effet une fonction qui manque chez OVH.

Personnellement, j'ai dû bricoler un script PHP pour traiter le contenu des mails de bilant de rejet envoyés par OVH.
Cela m'a permis de nettoyer quasiment automatiquement mes bases de données.

popcode
31/03/2010, 23h26
Bonjour,

Je voulais savoir s'il était possible de récupérer en SOAPI les emails envoyés automatiquement par un script PHP sur un hébergement mutualisé, et de récupérer, toujours via l'API, les e-mails rejetés.

Le but est de traiter ces messages pour les supprimer de la base de donnée.

Il me semble que ça doit correspondre aux fonctions "automatedMail" de "hosting" http://www.ovh.com/soapi/fr/?group=hosting

Dans le cas où la réponse est "oui", serait-il possible que vous écriviez des exemples de code (si possible en PHP)? Parce que je ne trouve pas une documentation très complète...

Merci beaucoup,
Julien