--- MSDW/SMTP/Server.pm.orig 2003-03-09 20:52:24.000000000 +0200 +++ MSDW/SMTP/Server.pm 2005-05-10 18:52:57.000000000 +0200 @@ -13,6 +13,7 @@ package MSDW::SMTP::Server; use IO::Socket; use IO::File; +use File::Temp qw(mkstemp); =head1 NAME @@ -183,7 +184,7 @@ return 0 unless defined($_ = $self->getline); s/[\r\n]*$//; $self->{state} = $_; - if (s/^helo\s+//i) { + if (s/^(helo|ehlo)\s+//i) { s/\s*$//;s/\s+/ /g; $self->{helo} = $_; } elsif (s/^rset\s*//i) { @@ -208,7 +209,9 @@ $self->{data}->seek(0, 0); $self->{data}->truncate(0); } else { - $self->{data} = IO::File->new_tmpfile; + (undef, $self->{datafilename}) = mkstemp("/tmp/smtpproxXXXXXX"); + $self->{data} = new IO::File $self->{datafilename}, "r+"; } while (defined($_ = $self->getline)) { if ($_ eq ".\r\n") {