in reply to Socket weirdness

I'm not familiar with Net::SMTP::Server, but if its possible, make sure, before the child process exits, that the socket is closed, and that the return value of close() is checked for success. Otherwise there's no guarantee that the sender has recieved and acknowleged the final reply packet.