From 6a33647f3065f88e568138abb9c3fa43ad967974 Mon Sep 17 00:00:00 2001 From: TossPig Date: Fri, 10 Oct 2014 23:40:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为了保持向后兼容, --- utils/mail.go | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/utils/mail.go b/utils/mail.go index b598d6d1..35b4b950 100644 --- a/utils/mail.go +++ b/utils/mail.go @@ -157,7 +157,17 @@ func (e *Email) Bytes() ([]byte, error) { } // Add attach file to the send mail -func (e *Email) AttachFile(filename string, id string) (a *Attachment, err error) { +func (e *Email) AttachFile(args ...string) (a *Attachment, err error) { + argsLength := len(args) + if argsLength < 1 || argsLength > 2 { + return + } + filename := args[0] + id := "" + if argsLength > 1 { + id = args[1] + } + id = args[1] f, err := os.Open(filename) if err != nil { return @@ -169,7 +179,18 @@ func (e *Email) AttachFile(filename string, id string) (a *Attachment, err error // Attach is used to attach content from an io.Reader to the email. // Parameters include an io.Reader, the desired filename for the attachment, and the Content-Type. -func (e *Email) Attach(r io.Reader, filename string, c string, id string) (a *Attachment, err error) { +func (e *Email) Attach(r io.Reader, filename string, ci ...string) (a *Attachment, err error) { + args := ci + argsLength := len(args) + if argsLength < 1 || argsLength > 2 { + return + } + c := args[0] + id := "" + if argsLength > 1 { + id = args[1] + } + id = args[1] var buffer bytes.Buffer if _, err = io.Copy(&buffer, r); err != nil { return @@ -189,7 +210,7 @@ func (e *Email) Attach(r io.Reader, filename string, c string, id string) (a *At if id != "" { at.Header.Set("Content-Disposition", fmt.Sprintf("inline;\r\n filename=\"%s\"", filename)) at.Header.Set("Content-ID", fmt.Sprintf("<%s>", id)) - }else { + } else { at.Header.Set("Content-Disposition", fmt.Sprintf("attachment;\r\n filename=\"%s\"", filename)) } at.Header.Set("Content-Transfer-Encoding", "base64")