func NewMailTx(from string, to []string, data []byte) (mail *MailTx) {
	mail = &MailTx{
		From:       from,
		Recipients: to,
		Received:   time.Now().Round(0),
	}
	mail.ID = strconv.FormatInt(mail.Received.UnixNano(), 10)
	mail.Data = make([]byte, len(data))
	copy(mail.Data, data)
	return
}
NewMailTx create and return new mail object.
package smtp
import (
	"bytes"
	"fmt"
	"strconv"
	"time"
)
type MailTx struct {
	ID string
	From string
	Recipients []string
	Data []byte
	Postpone time.Time
	Received time.Time
	Retry    int
}