After receiving the body of a message, what is the purpose of creating a new GUID and sending it to the client?
session.WriteResponse(string.Format("250 Ok: queued as {0}", Guid.NewGuid()));
If this GUID were sent more than once or added to the metadata of the received message, then this would make more sense to me. But in its current form, this code is essentially sending random data to the client (unless you consider how the GUID is generated and try to parse out the non-unique parts...which is not a good idea).