0
當談到在php中處理電子郵件時,我很新。如何將電子郵件附件另存爲電子郵件?
基本上我需要閱讀一個pop3郵箱並將郵件保存到數據庫和附件到一個文件夾。然後將相同的郵件(輕微更改)郵寄回另一個電子郵件收件人。
我以爲我得到了這一切工作,然後我意識到,當附件是另一封郵件,我只接收身體作爲文本(後base64_decode)。
是否可以將附加電子郵件保存到文件中,然後將其作爲附件發送到其他郵件中?
任何幫助將不勝感激。
下面是一些代碼,把它放到觀點:
// This is the IMAP connection: imap_open("{"."$host:$port/pop3$ssl"."}$folder",$user,$pass,OP_SILENT);
$mailConnection = $this->Maildata->mail_login($host,$port,$user,$pass,$folder,$ssl);
// This retrieves the list of mails in the current folder
$messageList = $this->Maildata->mail_list($mailConnection,$message);
foreach ($messageList as $messageId => $messageListData) {
// This reads the mail object into an array
$mailMessage = $this->Maildata->mail_mime_to_array($mailConnection,$messageId,true);
// This loops through each mail
foreach ($mailMessage as $tmpId => $tmpData) {
// Excluded save to database since it is unrelated
// This checks if item is an attachment and saves it.
if (isset($tmpData['is_attachment']) && $tmpData['is_attachment'] === true) {
$tmpName = date('Y-m-d H:i:s', strtotime('now'));
$this->Maildata->mail_attachment_save($tmpData['data'], $tmpName .$tmpData['name']);
}
}
}
附:這一切工作,但imap_fetchbody($mailConnection , $messageId, $prefix);
似乎並沒有發送我需要的所有數據。
請向我們顯示您的代碼。說它是「另一個消息」,你使用什麼MIME解析器是不正確的? – DaveRandom
這可能有所幫助:http://php.net/manual/en/book.imap.php儘管它說'IMAP',我相信它也可以用於POP。 –
@DaveRandom我正在使用IMAP連接到郵箱。我會添加一些代碼,但我不相信這會有所幫助。 – Nightwolf