php - servidor - cuenta de correo electrónico no leída de Gmail usando curl
servidor smtp gratis (2)
esta es la respuesta, leí la etiqueta xml usando php
$xmlobjc = new SimpleXMLElement($feed);
echo $xmlobjc->fullcount[0];
y reemplazar el encabezado con
header(''Content-Type:text/html; charset=UTF-8'');
Creé un script que puede obtener la lista de correo electrónico no leída como un feed de gmail, aquí está mi código
<?php
//function to get unread emails taking username and password as parameters
function check_email($username, $password)
{
//url to connect to
$url = "https://mail.google.com/mail/feed/atom";
// sendRequest
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_ENCODING, "");
$curlData = curl_exec($curl);
curl_close($curl);
//returning retrieved feed
return $curlData;
}
//making page to behave like xml document to show feeds
header(''Content-Type:text/xml; charset=UTF-8'');
//calling function
$feed = check_email("username", "password");
echo $feed;
?>
el resultado es como este
<?xml version="1.0" encoding="UTF-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<title>Gmail - Inbox for [email protected]</title>
<tagline>New messages in your Gmail Inbox</tagline>
<fullcount>1282</fullcount>
<link rel="alternate" href="http://mail.google.com/mail" type="text/html" />
<modified>2012-08-01T12:33:48Z</modified>
<entry>
<title>eBCS Pro 1 August 2012</title>
<summary>bcs logo eBCS Pro 1 August 2012 Video interview Olympic IT The Met Police's director of IT, Steve</summary>
<link rel="alternate" href="http://mail.google.com/[email protected]&message_id=138e21a3404cc7b2&view=conv&extsrc=atom" type="text/html" />
<modified>2012-08-01T12:12:44Z</modified>
<issued>2012-08-01T12:12:44Z</issued>
<id>tag:gmail.google.com,2004:1409100718455703474</id>
<author>
<name>eBCS Newsletter</name>
<email>[email protected]</email>
</author>
</entry>
<entry>
así que quiero leer el
<fullcount>1282</fullcount>
etiqueta
Cuando pasa el nombre de usuario y la contraseña a esta función, puede mostrar la lista de correo electrónico, solo necesito obtener el conteo de mensajes, ¿hay alguna forma de atrapar o contar los artículos?
Esto también funciona:
curl -u $(cat username):$(cat password) --silent ''https://mail.google.com/mail/feed/atom'' | sed -n ''s:.*<fullcount>/(.*/)</fullcount>.*:/1:p''