2011-10-25 56 views
1

我試圖將電子郵件的正文轉換爲字符串以進行一些處理,下面的腳本獲取電子郵件,但無法將內容轉換爲字符串。有什麼想法嗎? 乾杯, d在php中將電子郵件內容轉換爲字符串

/* try to connect */ 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' .  imap_last_error()); 
/* grab emails */ 
$emails = imap_search($inbox,'ALL'); 
/* 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) { 
/* get information specific to this email */ 
$overview = imap_fetch_overview($inbox,$email_number,0); 
$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">subject'.$overview[0]->subject.'</span> '; 
$output.= '<span class="from">'.$overview[0]->from.'</span>'; 
$output.= '<span class="date">on '.$overview[0]->date.'</span>'; 
$output.= '</div>';  
/* output the email body */ 
$output.= '<div class="body">'.$message.'</div>'; 
$pos = strpos("FIND_THIS", $message); 
if ($pos !== false) { 
    print "found<br/>"; 
} 
else { 
    print " not found <br/>"; 
} 
} 
echo $output; 
} 
/* close the connection */ 
imap_close($inbox); 
+1

那麼'$ output'是什麼? *不是* $ message的內容?正如我對'imap_fetchbody'的理解一樣,'$ message'包含了主體.. –

+0

輸出是一切串聯起來的,歡呼聲。 – dale

回答

1

是否有特定的電子郵件中的 '部分2'?如果是明文電子郵件,則只有0(標題)和1(正文)。內容部分在這裏詳細說明:http://ca3.php.net/manual/en/function.imap-fetchbody.php#89002

+0

這就是糾正它應該是一個,試圖各種讓它工作。我弄糊塗的是發現字符串是否存在 - 有針 - >乾草堆而不是乾草堆 - >針($ pos = strpos(「FIND_THIS」,$ message)應該是$ pos = strpos($ message,「FIND_THIS」 ))。學校男孩錯誤!歡呼傢伙 – dale

相關問題