亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 gomail v2 中發送帶有可選附件的電子郵件

在 gomail v2 中發送帶有可選附件的電子郵件

Go
慕田峪9158850 2023-05-08 16:38:41
mystuff我有一個處理發送電子郵件的包。package mystuffimport (    "crypto/tls"    "gopkg.in/gomail.v2")type Params struct {    From, To, Subject, Body, Filename string}func Mail(p Params) (err error) {    m := gomail.NewMessage()    m.SetHeader("From", p.From)    m.SetHeader("To", p.To)    m.SetHeader("Subject", p.Subject)    m.SetBody("text/plain", p.Body)    m.Attach(p.Filename)    d := gomail.Dialer{Host: "smtp.example.com", Port: 25}    d.TLSConfig = &tls.Config{InsecureSkipVerify: true}    if err := d.DialAndSend(m); err != nil {        panic(err)    }    return}和發送電子郵件的主要部分package mainimport . "mystuff"func main() {    Mail(Params{From: "[email protected]", To: "[email protected]", Subject: "Sub", Body: "B", Filename: "/tmp/image.jpg" })}我想作為Filename一個可選參數。例如    Mail(Params{From: "[email protected]", To: "[email protected]", Subject: "Sub", Body: "B" })}
查看完整描述

1 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

使用文件名作為可選參數,您必須檢查參數文件名的長度(字符串初始化為空):


func Mail(p Params) (err error) {

    m := gomail.NewMessage()

    m.SetHeader("From", p.From)

    m.SetHeader("To", p.To)

    m.SetHeader("Subject", p.Subject)

    m.SetBody("text/plain", p.Body)

    if len(p.Filename)>0 {

        m.Attach(p.Filename)

    }


    d := gomail.Dialer{Host: "smtp.example.com", Port: 25}

    d.TLSConfig = &tls.Config{InsecureSkipVerify: true}

    if err := d.DialAndSend(m); err != nil {

        panic(err)

    }

    return

}


查看完整回答
反對 回復 2023-05-08
  • 1 回答
  • 0 關注
  • 318 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號