Voting

: max(zero, six)?
(Example: nine)

The Note You're Voting On

Sbastien
4 years ago
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

<< Back to user notes page

To Top