Separate models for rest API POST and GET
I would not over-complicate the matter by splitting it up in several models. But if you want to stick to the choice of splitting it up, I would define an abstract base class and create a Create and Read model.

Because in the current situation I find the naming not 100% clear. Certainly because EmailModel (which sounds generic/basic) derives from CreateEmail (which is specific). It should be the other way around, a specific class should inherit from a generic/basic class. 

Here's a rough implementation:

public abstract class EmailModel
{
    public string Subject {get; set;}
    public string Body {get; set;}
}

public class CreateEmailModel : EmailModel { }

public class ReadEmailModel : EmailModel
{
    public int Id {get; set;}
    public List&lt;AttachmentModel&gt; Attachments {get; set;}
}