我从数据库中提取电子邮件作为字符串存储。我需要解析这些电子邮件以提取他们的附件。我想一定有一些图书馆可以很容易地做到这一点,但我找不到任何图书馆。如何使用PHP提取邮件atachment?
2
A
回答
3
PEAR::Mail::mimeDecode应该做你在找什么
1
这可以使用Zend框架
也许这个例子中的的Zend_Mail组件,它也可以在文档中找到做帮助:
// get the first none multipart part
$part = $message;
while ($part->isMultipart()) {
$part = $message->getPart(1);
}
echo 'Type of this part is ' . strtok($part->contentType, ';') . "\n";
echo "Content:\n";
echo $part->getContent();
我不知道但是你怎么能告诉Zend Mail从字符串中读取数据,也许需要做一些工作来完成这个任务,但是你会有一个完整的库,可以完成你想要的和更多的工作(比如读取主题等)。
编辑:
我刚做了它第二次看,并意识到,你所要做的就是写一个自己的存储实现(子类Zend_Mail_Storage_Abstract),这不应该是这么难的事。
我认为这是您将得到的最干净的解决方案,尽管需要一点努力才能使其工作。
如果您正在寻找更快捷的解决方案,其他人可能会帮助您。
希望有所帮助。
0
E-mail附件的MIME编码和使用头添加到邮件正文。 PEAR MIME解码包将执行您所需的任务: http://pear.php.net/package/Mail_mimeDecode
3
PHP有一个MailParse扩展,比使用原生PHP的PEAR替代方法要快得多。
这里是一个封装此扩展库:
http://code.google.com/p/php-mime-mail-parser/
实施例:
// require mime parser library
require_once('MimeMailParser.class.php');
// instantiate the mime parser
$Parser = new MimeMailParser();
// set the email text for parsing
$Parser->setText($text);
// get attachments
$attachments = $Parser->getAttachments();
1
PhpMimeParser - 解析多部分MIME消息(附件,内嵌图像,BASE64,引号的可打印)https://github.com/breakermind/PhpMimeParser您可以从文件,字符串中剪切MIME消息。
// Load .eml mime message from file
$str = file_get_contents('mime-mixed-related-alternative.eml');
// Format output
echo "<pre>";
// Create object MimeParser
$m = new PhpMimeParser($str);
// Show Emails
print_r($m->mTo);
print_r($m->mFrom);
print_r($m->mBcc);
print_r($m->mCc);
// Show Message
echo $m->mSubject;
echo $m->mHtml;
echo $m->mText;
print_r($m->mInlineList);
// Show Files
print_r($m->mFiles);
相关问题
- 1. 如何使用PHP邮件
- 2. 如何使用PHP从csv文件中提取所有电子邮件?
- 3. 如何使用Powershell从.msg文件中提取邮件标题?
- 4. 当使用PHP邮件从PHP邮件获取smtp错误
- 5. 如何从电子邮件中使用asp.net或php提取信息
- 6. PHP邮件提交
- 7. PHP邮件():如何获取有关使用PHP邮件发送邮件失败的更多信息()。
- 8. 如何使用ruby gmail gem提取邮件正文?
- 9. 如何使用IMAP C客户端源提取未读邮件
- 10. 如何使用jsoup提取电子邮件ID?
- 11. 如何仅使用IMAP提取Python的电子邮件正文?
- 12. 如何加快PHP邮件? (使用CRON)
- 13. 使用CURL来读取邮件? - PHP
- 14. 使用PHP邮件()
- 15. 提取使用PHP
- 16. 如何获取电子邮件使用PHP IMAP
- 17. 你如何让PHP读取POP邮件?
- 18. 附件邮件使用PHP邮件()?
- 19. 如何提取PHP
- 20. 如何使用Java邮件获取未答复的邮件?
- 21. 如何使用PHP从HTML文件中提取所有文本?
- 22. 如何使用AngularJS从PHP文件中提取数据
- 23. 如果提交表单提交php邮件给用户
- 24. php邮件功能 - 邮件获取/
- 25. 如何使用XP提取HTML,如YQL使用PHP?
- 26. 如何获取邮箱我用PHP源
- 27. 用PHP提取CAB文件
- 28. 如何从PHP文件中提取HTML?
- 29. 使用php提取xml文件集中的内容使用php
- 30. 如何使用Python提取硬件ID?
谢谢,正是我所需要的。 – Arkh 2009-08-06 13:10:30