func sizeAndHashOf(p gmime.Part) (int, string) { dataWrapper := p.ContentObject() memStream := gmime.NewMemStream() c := dataWrapper.WriteToStream(memStream) memStream.Flush() data := memStream.Bytes() hasher := md5.New() hasher.Write(data) hashString := hex.EncodeToString(hasher.Sum(nil)) return int(c), hashString }