func (s *sendgrid) BodyText(body string) Mailer {
	s.bodyText = body
	return s
}
BodyText sets plain text email body for an email
package gomailer
import (
	"bytes"
	"errors"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"os"
)
const (
	sendgridBaseURL = "https://api.sendgrid.com/v3"
	sendgridMaxFileSize int64 = 30 * 1000000
	sendgridMaxReceipents = 1000
)
type (
	readerInfo struct {
		size int64
		r    io.Reader
	}
	sendgrid struct {
		c                       client
		configs                 Configs
		from                    address
		toList                  []address
		ccList                  []address
		bccList                 []address
		replyTo                 address
		subject                 string
		bodyHTML                string
		bodyText                string
		attachmentFiles         []string
		attachmentInlineFiles   []string
		attachmentReaders       map[string]readerInfo
		attachmentInlineReaders map[string]readerInfo
		attachments             []attachment
	}
	sendgridContent struct {
		Type  string `json:"type"`
		Value string `json:"value"`
	}
)
func (s *sendgrid) messageURL() string {
	url := sendgridBaseURL
	if s.configs.BaseURL != "" {
		url = s.configs.BaseURL
	}
	return fmt.Sprintf("%s/mail/send", url)
}
func (s *sendgrid) From(name, from string) Mailer {
	s.from = address{Name: name, Email: from}
	return s
}
func (s *sendgrid) To(name, to string) Mailer {
	s.toList = append(s.toList, address{Name: name, Email: to})
	return s
}
func (s *sendgrid) Cc(name, to string) Mailer {
	s.ccList = append(s.ccList, address{Name: name, Email: to})
	return s
}
func (s *sendgrid) Bcc(name, to string) Mailer {
	s.bccList = append(s.bccList, address{Name: name, Email: to})
	return s
}
func (s *sendgrid) ReplyTo(name, email string) Mailer {
	s.replyTo = address{Name: name, Email: email}
	return s
}
func (s *sendgrid) Subject(subject string) Mailer {
	s.subject = subject
	return s
}
func (s *sendgrid) BodyHTML(body string) Mailer {
	s.bodyHTML = body
	return s
}