Có thư viện PHP, được gọi là php-mime-mail-parser
tự nó phụ thuộc vào PECL mailparse library. Khi bạn đã những cài đặt, mã để đạt được những gì bạn muốn là khá thẳng về phía trước:
<?php
require_once 'MimeMailParser.class.php';
$parser = new MimeMailParser();
$parser->setStream(STDIN);
$subject = $parser->getHeader('subject');
$attachment_content = false;
foreach ($parser->getAttachments() as $attachment) {
$extension = pathinfo($attachment->filename, PATHINFO_EXTENSION);
if ($extension == "txt") {
$attachment_content = $attachment->content;
break;
}
}
// adapt to what ever database you are using
$sth = $mysqli->prepare("INSERT INTO mails (subject, attachment) VALUES (:subject, :attachment)");
$sth->bindParam(':subject', $subject, PDO::PARAM_STR);
$sth->bindParam(':attachment', $attachment_content, PDO::PARAM_STR);
$sth->execute();
Bạn có thể đường ống qua đường bưu điện vào kịch bản, vì nó đọc từ STDIN
. Bạn cũng có thể đọc từ một tệp bằng cách thay đổi setStream
thành setPath
. Xem số documentation of the library.
Cảm ơn! Tôi mới vào các tập tin thực thi, vì vậy sẽ cần phải nhìn vào nó, bạn có biết bất kỳ liên kết nào có thể hữu ích cho tôi không :) – tarnfeld