Что такое код mailparse_msg_extract_part_file

Содержание

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file � Extracts/decodes a message section

��������

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding — base64, quoted-printable and uuencoded text are supported.

������ ����������

Can be a file name or a valid stream resource.

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to «stdout».

������������ ��������

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL, returns the extracted section as a string.

Returns FALSE on error.

�������� �����

  • mailparse_msg_extract_part() — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() — Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file � �������/������������ ������ � ���������� �� �����

��������

�������/������������ ������ � ���������� �� ���������� �����.

������� ��������� ����� ����������� � ������������ � ���������� ���������. �������������� ��������� ���������: base64, quoted-printable � uuencoded.

������ ����������

��� ����� ��� ���������� ��������� ������.

���� ������, �� � ��� ������� ����� �������� ����������� ���������. ���� NULL , �� ����������� ��������� ����� ������ ����������.

���� �� ������, �� ������� ����� ��������� �� ����������� ����� (stdout).

������������ ��������

���� callbackfunc �� NULL , �� ������ TRUE � ������ ������.

���� callbackfunc ������ ��� NULL , ������ ����������� ������ ��������� � ���� ������.

������ FALSE � ������ ������.

�������� �����

  • mailparse_msg_extract_part() — �������/������������ ������ � ����������
  • mailparse_msg_extract_whole_part_file() — ������ ������ ��������� ������ � ����������� ��� �������������

��� ����� ��� mailparse_msg_extract_part_file

(4.1.0 — 4.1.2 only, PECL)

mailparse_msg_extract_part_file — Extracts/decodes a message section, decoding the transfer encoding

Description string mailparse_msg_extract_part_file ( resource rfc2045, string filename [, callback callbackfunc] )

��� ������� �������� ����������������� . ��������� ���� �������, �� ��� � ����������� � ��� ������������ ����� ���������� � ����������� ������� PHP ��� �����������. ����������� ��� ������� �� ���� ����� � ����.

��������

� ���������� ������� ��� ������� ��� �� ���� ���������������; ��� ������������ �������� ������ ������ ����������.

��������
����. ������ ����.
mailparse_msg_create ������� ���� mailparse_msg_extract_part

���� �� �� ����� ��� ������, �� ���������� ��������������� ������� �� �����:

��� ����� ��� mailparse_msg_extract_part_file

mailparse_msg_extract_part_file — Extracts/decodes a message section, decoding the transfer encoding

Description string mailparse_msg_extract_part_file ( resource rfc2045, string filename [, callback callbackfunc] )

Эта функция является ЭКСПЕ� ИМЕНТАЛЬНОЙ . Поведение этой функции, ее имя и относящаяся к ней документация могут измениться в последующих версиях PHP без уведомления. Используйте эту функцию на свой страх и риск.

Внимание

К настоящему времени эта функция еще не была документирована; для ознакомления доступен только список аргументов.

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part � �������/������������ ������ � ����������

��������

� ���������� ������� ��� ������� ��� �� ���� ���������������; ��� ������������ �������� ������ ������ ����������.

������ ����������

������������ ��������

��� ������� �� ���������� �������� ����� ����������.

�������� �����

  • mailparse_msg_extract_part_file() — �������/������������ ������ � ���������� �� �����
  • mailparse_msg_extract_whole_part_file() — ������� ������ ��������� ������ � ����������� ��� �������������

User Contributed Notes 5 notes

In mailparse version 2.1.1 (and perhaps earlier), when using mailparse_msg_extract_part() with a callback function, it breaks the data it passes to it into 4kB chunks and calls the callback function for each chunk. So, for example, if it’s extracting a 41kB MIME part, the callback function you define will be called 11 times, each time with the next chunk of data. Here’s some quick-and-dirty code that shows one way to handle this:

= file_get_contents ( «email.txt» ); // Pull in the e-mail.

function catch_part ( $part )
<
$GLOBALS [ «part_data» ] .= $part ; // Append the data onto any previously extracted data.
>

mailparse_msg_extract_part ( «1.1» , $message , «catch_part» ); // Extract MIME part 1.1
echo $GLOBALS [ «part_data» ]; // Print out the extracted part.
?>

There’s probably a much better way of dealing with this, but hey. It’s what I got.

With ref to previous comment re: callback:

If you explicitly specify NULL as the callback parameter, the complete section is extracted, decoded and returned, without the need for a callback.

Unless I’ve missed something obvious:

get_structure returns array(1,1.1,1.1.2) etc but its not easy to get the contents of each part as mailparse_msg_extract_part() and mailparse_msg_extract_part_file() just return the lot. However get_part_data will return the string offsets so you know where to chop the message so you can get the contents of the parts.

Only issue is get_part_data returns:
[starting-pos] => 0
[starting-pos-body] => 1412
[ending-pos] => 14989
[ending-pos-body] => 14989

Unless I’m missed something else, theres a bug here as ending-pos is the same as ending-pos-body so it won’t chop the contents cleanly, leaving the:

. as supposedly part of the section contents.

$file = «. /mail»; // path of your mail
$file_txt = implode(«»,file($file));
$parse = mailparse_msg_parse_file($file);
$structure = mailparse_msg_get_structure($parse);
// chop message parts into array
$parts = array();
foreach ($structure as $s) <
print «Part $s\n»;
print «—————————————\n»;
$part = mailparse_msg_get_part($parse, $s);
$part_data = mailparse_msg_get_part_data($part);
print_r($part_data);
$starting_pos_body = $part_data[‘starting-pos-body’];
$ending_pos_body = $part_data[‘ending-pos-body’];
$parts[$s] = substr($file_txt,$starting_pos_body,$ending_pos_body); // copy data into array
print «[«.$parts[$s].»]»;
print «\n————————————\n»;
>

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file � Extracts/decodes a message section

��������

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding — base64, quoted-printable and uuencoded text are supported.

������ ����������

Can be a file name or a valid stream resource.

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to «stdout».

������������ ��������

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL , returns the extracted section as a string.

Returns FALSE on error.

�������� �����

  • mailparse_msg_extract_part() — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() — Extracts a message section including headers without decoding the transfer encoding

����������

Be aware of «corporate mails» or users who do not understand character encoding too deeply (or do not care). You may (as we did) face mail where the whole mail body is encoded used i.e. Latin2 (and iso-8859-2 is given in multipart’s charset header) but at the same time the body also contains text footer with UTF-8 characters in it. Yes, fu*g Microsoft Exchange V6.5 frontent will show that fine on the screen, but if when receive it:

mailparse_msg_extract_part_file() — filter conversion failed. Input message is probably incorrectly encoded in .

so be extra careful and deal with all the possible errors to avoid mail loss.

��� ����� ��� mailparse_msg_extract_part_file

(������ 4.1.0 — 4.1.2)

mailparse_msg_extract_part_file — ���������/���������� ������ ���������, ��������� ��������� ���������.

��������

string mailparse_msg_extract_part_file (resource rfc2045, string filename [, string callbackfunc])

Внимание

��� ������� — �����������������. ���������, ��� � �� ���������, ��� ����������������� ��� ������ ������� ����� ���� �������� � ������� ������� ��� ��� ��������������. �� ������ ������������ ��� ������� ������ �� ���� ����� � ����.

��������������!

��� ������� � ��������� ����� ��� �� �����������������; ������� ������ ������ ����������.

mailparse_msg_extract_part_file

(PHP 4 >= 4.0.7, PECL mailparse:0.9-2.1.1)

mailparse_msg_extract_part_file � Extracts/decodes a message section

Description

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding — base64, quoted-printable and uuencoded text are supported.

Parameters

A valid MIME resource, created with mailparse_msg_create().

Can be a file name or a valid stream resource.

If set, this must be either a valid callback that will be passed the extracted section, or NULL to make this function return the extracted section.

If not specified, the contents will be sent to «stdout».

Return Values

If callbackfunc is not NULL returns TRUE on success.

If callbackfunc is set to NULL, returns the extracted section as a string.

��� ����� ��� mailparse_msg_extract_part_file

(������ 4.1.0 — 4.1.2)

mailparse_msg_extract_part_file — ���������/���������� ������ ���������, ��������� ��������� ���������.

��������

string mailparse_msg_extract_part_file (resource rfc2045, string filename [, string callbackfunc])

��������������!

��� ������� — �����������������. ���������, ��� � �� ���������, ��� ����������������� ��� ������ ������� ����� ���� �������� � ������� ������� ��� ��� ��������������. �� ������ ������������ ��� ������� ������ �� ���� ����� � ����.

��������������!

��� ������� � ��������� ����� ��� �� �����������������; ������� ������ ������ ����������.

��������������!

����� ���������� �����
mailparse_msg_create ����� mailparse_msg_extract_part

���������, ������� ��������� �� ���� ���������, ������� ������������� ������ ��������

��� ����� ��� mailparse_msg_extract_part_file

(4.1.0 — 4.1.2 only, PECL)

mailparse_msg_extract_part_file — Extracts/decodes a message section, decoding the transfer encoding

Description string mailparse_msg_extract_part_file ( resource rfc2045, string filename [, callback callbackfunc] )

This function is EXPERIMENTAL . The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.

Warning

This function is currently not documented; only the argument list is available.

Илон Маск рекомендует:  Поддержка INPUT type=date для старых браузеров
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Warning