美文网首页
go-mail发送邮件(待)

go-mail发送邮件(待)

作者: 五岁小孩 | 来源:发表于2021-01-18 19:42 被阅读0次

go-mail发送邮件

  • service

    go get "gopkg.in/gomail.v2"

    import (
      "errors"
      "fmt"
      "gopkg.in/gomail.v2"
    )
    
    //定义邮箱服务器连接信息,如果是阿里邮箱 pass填密码,qq邮箱填授权码
    type MailConfig struct {
      Host string `json:"Host"` //邮箱服务器地址
      Port int    `json:"Port"` //邮箱服务器端口
      User string `json:"User"` //邮箱账号
      Pass string `json:"Pass"` //邮箱密码 如果是阿里邮箱 Pass填密码,qq邮箱填授权码
      SSL  bool   `json:"SSL"`  //SSL加密传输,端口==465是默认为true
    }
    
    //mailConfig 邮件配置MailConfig 不能为空
    //mailFrom 邮件发送方 默认MailConfig账号
    //mailTo 接收邮箱 不能为空
    //subject 主题
    //message 发送消息
    func SendMail(mailConfig *MailConfig, mailFrom string, mailTo []string, subject string, message string) error {
      //默认邮件来自配置邮箱
      if IsEmpty(mailFrom) {
          mailFrom = mailConfig.User
      }
      //接收消息的邮箱不能为空
      if len(mailTo) <= 0 {
          return errors.New("mailTo:接收消息的邮箱不能为空")
      }
      m := gomail.NewMessage()
      m.SetHeader("From", m.FormatAddress(mailConfig.User, mailFrom)) //这种方式可以添加别名,
      m.SetHeader("To", mailTo...)                                    //发送给多个用户
      m.SetHeader("Subject", subject)                                 //设置邮件主题
      m.SetBody("text/html", message)                                 //设置邮件正文
      //SSL加密
      if mailConfig.SSL {
          mailConfig.Port = 465
      }
      //连接
      dialer := gomail.NewDialer(mailConfig.Host, mailConfig.Port, mailConfig.User, mailConfig.Pass)
    
      //发送
      erBySend := dialer.DialAndSend(m)
      if erBySend != nil {
          fmt.Printf("base package SendMail send error:%v", erBySend.Error())
          //error
          return erBySend
      }
      //success
      return nil
    }
    
    

相关文章

  • go-mail发送邮件(待)

    go-mail发送邮件 servicego get "gopkg.in/gomail.v2"import ( ...

  • spring boot 邮件发送基础详解(4种邮件超级详细)

    本文将介绍spring boot邮件发送将介绍以下几个方面: 邮件使用场景 邮件发送原理 邮件发送流程 邮件发送步...

  • SKPSMTPMessage

    SKPSMTPMessage 可以自己实现邮件发送,采用系统的邮件发送会弹出邮件发送框,如果要求静默发送邮件可参照...

  • SpringBoot 发送邮件

    # 依赖 # 配置 # 发送简单文本邮件 # 发送html邮件 # 使用邮件模板发送邮件 添加依赖 配置 新建ht...

  • 2018-10-11

    文本邮件的发送 1.邮件发送流程 ​ 邮件的发送是主动行为:主要通过 MUA/邮件客户端软件,将邮件内容发送给对应...

  • python自动发送邮件

    python自动发送邮件 在说python发送邮件之前,需要了解一下简单的邮件发送知识,邮件发送一般通过SMTP协...

  • python -- Email , send(smtp), re

    python Email功能: 发送普通文本邮件 发送带有html格式的邮件 发送带有附件的邮件 发送插入图片到正...

  • 2018-07-02

    发送邮件 //发送邮件 @ResponseBody @RequestMapping("email") public...

  • Golang使用SMTP发送邮件

    使用SMTP发送邮件 发送邮件测试 邮箱如下

  • python学习(21)smtp发送邮件

    本文介绍python发送邮件模块smtplib以及相关MIME模块。smtplib用于生成邮件发送的代理,发送邮件...

网友评论

      本文标题:go-mail发送邮件(待)

      本文链接:https://www.haomeiwen.com/subject/llvonktx.html