Smptd crashes because messages longer than 64K are written to a file rather than into memory. A rather quaint #define VMLIMIT sets this value. Unless /mail/tmp is generally writeable (chmod o+w /mail/tmp), the temporary file cannot be created, since smtpd runs as none.