Categorygithub.com/serialt/smail
modulepackage
0.0.0-20230623103458-c47736c355db
Repository: https://github.com/serialt/smail.git
Documentation: pkg.go.dev

# README

smail

for cmd

go install github.com/serialt/smail/cmd/smail@latest

for lib

package main

import (
	"flag"
	"log"
	"strings"

	"github.com/serialt/smail"
	"github.com/serialt/sugar/v3"
)

var (
	recvUser string
	subject  string
	body     string
	filename string
	mailtype string
)

type Config struct {
	Mailer smail.Mailer `yaml:"mailer"`
}

// Recver 邮件信息处理
func init() {
	flag.StringVar(&recvUser, "c", "", "收邮件地址,格式为 [email protected],[email protected]")
	flag.StringVar(&mailtype, "t", "", "邮件发送方式,g 群发邮件,s 一对一发邮件,默认是g")
	flag.StringVar(&subject, "s", "", "邮件主题")
	flag.StringVar(&body, "m", "", "邮件内容")
	flag.StringVar(&filename, "f", "", "添加的附件")
	flag.Parse()
}

func main() {
	var confg *Config
	err := sugar.LoadConfig("/Users/serialt/.smail.yaml", &confg)
	if err != nil {
		log.Fatalf("Read config failed: %v", err)
	}
	mail := confg.Mailer
	mail.MailTo = strings.Split(recvUser, ",")
	mail.Subject = subject
	mail.Body = body
	mail.Filename = filename

	switch mailtype {
	case "g", "":
		err := mail.SendMailByGroup()
		if err != nil {
			log.Println("Send mail failed", err)
			return
		}
		log.Println("Send mail successfully!")
	default:
		err := mail.SendMail()
		if err != nil {
			log.Println("Send mail failed", err)
			return
		}
		log.Println("Send mail successfully!")

	}

}

# Packages

No description provided by the author

# Structs

Mailer 邮件配置.