【发布时间】:2019-06-04 00:33:30
【问题描述】:
我想从我的 gmail 帐户中获取电子邮件详细信息并保存到 Mysql 表中。我想在 UID 的基础上获取电子邮件。但我没有得到所需的结果。谁能告诉我当新电子邮件到达我的 gmail 帐户时如何获取电子邮件的电子邮件、主题、正文。这是我的代码:
/* connect to server */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'myemail';
$password = 'mypassword';
/* try to connect */
$inbox = imap_open($hostname,$username,$password,OP_READONLY) or die('Cannot connect to Tiriyo: ' . imap_last_error());
//echo $inbox;
/* grab emails */
//$emails = imap_search($inbox,'ALL');
$latest_uid = 16; // Last UID inserted in my table
$emails = imap_search($inbox, 'ALL', SE_UID);
print_r($emails);
/* if emails are returned, cycle through each... */
if($emails) {
/* begin output var */
$output = '';
/* put the newest emails on top */
rsort($emails);
/* for every email... */
foreach($emails as $email_number) {
//$email_number=$emails[0];
//print_r($emails);
/* get information specific to this email */
$message = imap_fetchbody($inbox,$email_number, 1);
//echo $message;
$overview = imap_fetch_overview($inbox,"1:{$email_number}");
// $message = imap_fetchbody($inbox,$email_number,2);
/* output the email header information */
// $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span class="subject">'.$overview->subject.'</span> ';
$output.= '<span class="from">'.$overview->from.'</span>';
$output.= '<span class="from">'.$overview->uid.'</span>';
$output.= '</div>';
/* output the email body */
$output.= '<div class="body">'.$message.'</div>';
}
echo $output;
}
/* close the connection */
imap_close($inbox);
我收到错误:
Notice: Trying to get property of non-object in C:\xampp\htdocs\imap\custom\index2.php on line 37
Notice: Trying to get property of non-object in C:\xampp\htdocs\imap\custom\index2.php on line 38
Notice: Trying to get property of non-object in C:\xampp\htdocs\imap\custom\index2.php on line 41
这是第 37 行:
$output.= '<span class="subject">'.$overview->subject.'</span> ';
【问题讨论】:
-
第 37 行是什么?
-
查看编辑问题
-
你试过这个 $emails = imap_search($inbox, 'NEW ');我希望它能更好地帮助你。谢谢。
标签: php mysql email gmail imap