The last bug of the day was, "Why is this process getting so big?" See, it was getting an HTTP upload, creating an Email::Simple::FromHandle, then delivering it. It should all have been streaming around, nothing in memory.
Then we realized that Email::LocalDelivery was dealing with the string at once, because it was written before
Email::LocalDelivery accepts only a string to deliver. In fact:
croak "Mail argument to deliver should just be a plain string" if ref $mail;
It calls the deliver method on the various Email::LocalDelivery::* classes, like
sub deliver { my ($class, $mail, @files) = @_; $mail = Email::Simple->new($mail) unless ref $mail eq "Email::Simple"; # For when we recurse
Unfortunately,
I'll probably fix this in all the E::LD:: classes I control, then try to get the other CPAN modules fixed, then hope nothing on the darkpan breaks. At least I can fix the streaming delivery in Email::LocalDelivery::Maildir and call its deliver method directly, because hey, THAT's a great idea...
perl email project non-synergy 0 Comments More | Login | Reply /