2017-01-07 1 views
-1

Я новичок в php, с базовыми рабочими знаниями. У меня есть требование прочитать письмо (gmail) и получить значения в нем и соответственно сохранить их в базе данных. Но проблема заключается в получении значений из тела электронной почты. Я могу читать почту и отображать данные с использованием расширения IMAP (используя в качестве руководства this). Но как получить точные значения из тела почты. В основном почта имеет таблицу со значениями.Прочитайте адрес электронной почты и сохраните значения в базе данных в php

Я не знаю, как его реализовать. Дайте мне знать, если это правильный метод или есть ли другие методы для этого? Я могу хранить в части базы данных.

Заранее спасибо.

+0

Вы должны сделать это с помощью Jquery или Javascript (разбора HTML) –

+1

Ваш вопрос очень расплывчато, что фактическая задача. Невозможно ответить на него в текущей форме. Пожалуйста, добавьте больше подробностей к вашему описанию. Для этого есть ссылка «edit». _Используйте его ..._ – arkascha

+0

Это _might_ будет то, что то, что вы пытаетесь сделать, это интерпретировать тело html сообщения электронной почты и, если оно содержит определенную структуру таблицы, затем выберите значения ячейки таблицы и сохраните их в базе данных. Для этого вы должны использовать парсер DOM для «чтения» тела сообщения. Это позволяет вам перебирать элементы структуры HTML и выбирать отдельные значения. Но, как сказано: ваш вопрос очень расплывчатый, это только дикая ошибка. – arkascha

ответ

0

Ниже приведен код, который я использовал для получения результата.

<?php 
$hostname = "{imap.gmail.com:993/imap/ssl}INBOX"; 
$username = "[email protected]"; 
$password = "password"; 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 
$emails = imap_search($inbox,'UNSEEN'); 
if($emails) { 
    $output = ''; 
    rsort($emails); 
    foreach($emails as $email_number) { 
     $message = (imap_fetchbody($inbox,$email_number,1.1)); 
     if($message == '') 
     { 
      $message = (imap_fetchbody($inbox,$email_number,1)); 
     } 
     $array = explode("\n", $message); 
    } 
    print_r($array); 
} 
imap_close($inbox); 

?>

Смежные вопросы