Je reçois beaucoup d'emails dont le contenu est du même modèle, par ex. Je veux écrire un script PHP pour analyser ces e-mails et enregistrer les données dans une base de données. J'ai essayé d'utiliser file_get_contents() pour obtenir le contenu de ces emails.PHP: obtenir le contenu d'une page Web distante qui nécessite une authentification?
Le problème est que cela nécessite une authentification pour accéder à mes emails. Même si je me suis connecté à mon compte de messagerie sur le serveur (localhost), file_get_contents() renvoie toujours la page Web qui me demande de me connecter.
Comment accéder au contenu de mes emails avec un script PHP?
EDIT: c'est un compte Gmail.
Le code suivant ne fonctionne pas.
$login_url = 'https://www.google.com/accounts/ServiceLoginAuth';
$gmail_url = 'https://mail.google.com/';
$cookie_file = dirname(__FILE__) . '/cookie.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $gmail_url);
// not sure how to set this option
curl_setopt($ch, CURLOPT_REFERER, $login_url);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
Oui, il est https protocal. Et l'extension openssl est déjà activée. – powerboy
@powerboy: Utilisez-vous le serveur IIS? – Sarfraz
@Sarfraz: Non, il est apache sur windows – powerboy