Subject: | Broken pipe when a data_part begin '.CRLF' and is not data_end |
Hello,
There is a bug in Server::Mail::SMTP.pm
When a mail DATA is cut in 2 data_part exactly at the end of a line!
The second data_part begin with '.CRLF' and is consider by sub data_part
as data_end which is an error !
Example of mail with > 4096 characters :
....
il fait beau vivre en France.CRLF
....
is cut in 2 data_part :
First data_part (4096 characters with Postfix) :
....
il fait beau vivre en France
Second data_part (<= 4096 characters):
.CRLF
....
function Server::Mail::SMTP::data_part "if($data =~ /^\.\r?\n/m)"
consider that second part begin as DATA end ! And in result
$self->{_data} there is only first data_part !
In RFC2821 DATA end is 'CRLF.CRLF' and not only '^.CRLF' !
In section : 4.1.1.4 DATA (DATA)
The mail data is terminated by a line containing only a period, that
is, the character sequence "<CRLF>.<CRLF>" (see section 4.5.2).
My environment :
- LINUX RHEL 3.0
- Perl 5.8.0
- Net-Server-Mail 0.13
Can you help me to correct this bug
Thanks for your help