Существует множество информации о входе в Gmail, отображении папки «Входящие», получении контактов и т. д., но я не могу понять, как получить само электронное письмо в переменную, чтобы я мог делать с ним что-то в PHP.
Вот что у меня есть:
function inbox($username, $password){
$url = "https://mail.google.com/mail/feed/atom";
$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);
return $curlData;
}
//calling the function
$em = "[email protected]";
$pw = "pass";
$feed = inbox($em, $pw);
$x = new SimpleXmlElement($feed);
echo "<ul>";
foreach($x->entry as $msg){
//extracting the link to the message from xml
$href = $msg->link->attributes()->href;
//create a link to the message and display title, summary
echo "<li><a href=\"".$href."\">".$msg->title."</a><br />".$msg->summary."</li>";
}
echo "</ul>";
Теперь, когда я нажимаю на только что созданную ссылку, она просто открывает сообщение в Gmail. Я хочу получить доступ к html сообщения в строке/переменной. Я пробовал все виды вещей. Я попытался перенаправить ссылку на сообщение на другую страницу, чтобы открыть ее в завитке, но вместо того, чтобы показывать мне сообщение, Google отправляет некоторый html с еще одной ссылкой на сообщение. Если щелкнуть ссылку в браузере, она снова откроется в gmail, но если я попытаюсь перейти по этой ссылке в третий раз, она покажет мне пустую страницу.
Дело в том, что на моем рабочем сервере не включен imap/pop, и cURL — последнее, что я знаю о том, что может это сделать.