diff --git a/lib/Qpsmtpd/SMTP.pm b/lib/Qpsmtpd/SMTP.pm index b52564f..d50bfac 100644 --- a/lib/Qpsmtpd/SMTP.pm +++ b/lib/Qpsmtpd/SMTP.pm @@ -472,7 +472,7 @@ sub data { # save us buffering the mail content. # Save the start of just the body itself - $self->transaction->body_start($size); + $self->transaction->set_body_start(); } diff --git a/lib/Qpsmtpd/Transaction.pm b/lib/Qpsmtpd/Transaction.pm index 9455cea..6fe8596 100644 --- a/lib/Qpsmtpd/Transaction.pm +++ b/lib/Qpsmtpd/Transaction.pm @@ -107,10 +107,12 @@ sub body_write { while ($$ref =~ m/\G(.*?\n)/gc) { push @{ $self->{_body_array} }, $1; $self->{_body_size} += length($1); + ++$self->{_body_current_pos}; } if ($$ref =~ m/\G(.+)\z/gc) { push @{ $self->{_body_array} }, $1; $self->{_body_size} += length($1); + ++$self->{_body_current_pos}; } if ($self->{_body_size} >= $self->{_size_threshold}) { #warn("spooling to disk\n");