| Age | Commit message (Collapse) | Author |
|
|
|
__prev_message() -> _prev_message_is()
|
|
|
|
public -> private:
o head_message
o last_message
o next_message
o prev_message
prefix change:
o rfc822_message_ -> whole_message_
o get_first_plaintext_message() -> find_first_plaintext_message()
o get_encoding_mechanism() -> encoding_mechanism()
o get_data_type() -> data_type()
o get_data_type_list() -> data_type_list()
renamed:
o get_offset() - >offset_pair()
o header_in_body_part() -> message_fields()
o data_in_body_part() -> message_text()
where we use RFC822 flabour naming convention.
rfc822 says "message = fields + text" and rfc2047 says "message" as
defined in RFC 822, with all header fields optional.
|
|
|
|
|
|
|
|
message.
|
|
body_size() -> whole_message_body_size()
|
|
|
|
|
|
fix argument.
|
|
|
|
return default pair if overrun.
|
|
|
|
|
|
|
|
|
|
bug fix: data_in_body_part() returns whole data not the first 512 bytes
bug if $size is specified as argument, return the first $size bytes.
feature: get_data_type_list() returns ARRAY of xxx/yyy by default for
other method use. If under $debug mdoe, it shows verbose output.
|
|
return offset information in the data. return value is ARRAY
|
|
return encoding type for specified Mail::Message not whole mail.
The return value is one of base64, quoted-printable or undef.
|
|
|
|
index("\n") can pick up both
the last "\n" of the MIME part
and
"\n" of MIME delimiter string "CRLF delimiter"
since index() searches the whole not a part of the mail.
We need to identify these two cases restrictly.
|
|
|
|
|
|
|
|
create() is ambiguous (what it creates ?).
add several comments on what new() and _build_message() do.
|
|
replace data_type() with get_data_type().
define header_data_type() method to retrieve the data type of the
whole mail message.
|
|
we check preamble exists or not more rigorously to avoid to misread
broken(?) mulitpart data.
|
|
|
|
align types to be lowercase
|
|
"broken" implies the folloing type message:
* It says Content-Type: multipart but has no multipart block within it.
* multipart without close-delimiter
our analyzer loop does
do { alloc a new part + delimiter
} while ( not reach the end and non-zero data part ).
modify _get_next_pos() which returns (maxlen, maxlen) if broken
condition is satisfied. It means the next part has zero data, so
the next "alloc a new part" process is ignored in analyzer loop.
|
|
fix "text/rfc822-headers" type handling since
duplicated "text/rfc822-headers" parts may appear.
we check the duplication always.
|
|
bug fix to parse Content-Type: ... phrase
|
|
add several debug codes anywhere.
define rfc822_message_body_head() which uses new find() method. It
returns the head object of body parts in a chain of Mail::Message
objects.
define rfc822_message_body() is an alias of rfc822_message_body_head().
Content-Type:.*boundary= is case insenstive.
size() checks the given object type. Its check is fundamental but may
be effective.
|
|
|
|
|
|
modify data_type() to search data_type in $self.
define header() and data() methods to retrive $self's header and
data (body) part.
redefine _header_mime_boundary() and _header_data_type() as internal
method and nuke public mime_boundary() method.
|
|
|
|
data_xxx if could. By default, a chain of objects follows:
undef -> header (type == rfc822/message.header) -> body -> undef
or
undef -> header -> body -> body -> .. -> undef
rename %data_type related things:
s/%data_type/%virtual_data_type/
s@_multipart_XXX/plain@multipart.XXX/
print() handles the object with the data_type == Mail::Header or
FML::Header to print header string.
dup_header() duplicates the header and the first object of the body.
parse() method parses the given data to a chain of Mail::Message
objects which contains the header and body.
rfc822_message_header() and rfc822_message_body() return the
corrsponding Mail::Message object in a chain.
add several utility functions:
import mime_boundary(header), data_type(header) from FML::* class.
define header_size(), body_size() and envelope_sender().
|
|
|
|
reset_print_mode() and set_print_mode() to control print()'s output
mode.
modify function nameds as follows:
s/head/head_message/
s/last/last_message/
s/next_chain/next_message/
s/prev_chain/prev_message/
|
|
data_type mainly by default not content_*.
|
|
|
|
|
|
|
|
|
|
|