note 125715 added to function.mailparse-msg-extract-part
| From: | Sbastien@php.net | Date: | Sat, 23 Jan 2021 11:21:09 +0000 |
| Subject: | note 125715 added to function.mailparse-msg-extract-part | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-216221@lists.php.net to get a copy of this message | ||
Here a full example to save ZIP files attachments in their original name.
<?php
$email_raw = '(raw e-mail contents buffer)';
$parser = mailparse_msg_create(); // MUST be destroyed at the end of the script
mailparse_msg_parse($parser, $email_raw);
$structure = mailparse_msg_get_structure($parser); // Ex. ["1", "1.1",
"1.2"]
foreach ($structure as $part_label) { // Search among each e-mail part
$part = mailparse_msg_get_part($parser, $part_label); // Parse a specified part
$part_data = mailparse_msg_get_part_data($part); // Get parsed part data, header and meta values
if ($part_data['content-type'] ?? null === 'application/zip') {
$name = $part_data['disposition-filename'] ?? $part_data['content-name']
?? 'unknow.zip';
$contents = mailparse_msg_extract_part($part, $email_raw, null); // null for returning
content
file_put_contents($name, $contents);
}
}
mailparse_msg_free($parser); // Important
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.159.166 (proxied: 82.65.8.175)
----
Manual Page -- http://php.net/manual/en/function.mailparse-msg-extract-part.php
Edit -- https://master.php.net/note/edit/125715
Del: integrated -- https://master.php.net/note/delete/125715/integrated
Del: useless -- https://master.php.net/note/delete/125715/useless
Del: bad code -- https://master.php.net/note/delete/125715/bad+code
Del: spam -- https://master.php.net/note/delete/125715/spam
Del: non-english -- https://master.php.net/note/delete/125715/non-english
Del: in docs -- https://master.php.net/note/delete/125715/in+docs
Del: other reasons-- https://master.php.net/note/delete/125715
Reject -- https://master.php.net/note/reject/125715
Search -- https://master.php.net/manage/user-notes.php