我想发送一个CSV附件,而不首先将附件数据保存到硬盘驱动器。我在整个代码中都使用了gmail。我如何使用gmail直接从内存中附加数据?
您可以使用gmail提供的文件设置功能
csv, _ := gocsv.MarshalBytes(someData) // ignoring the error for the example
email := gomail.NewMessage()
email.Attach(
fmt.Sprintf("Filename.csv"),
gomail.SetCopyFunc(func(w io.Writer) error {
_, err := w.Write(csv)
return err
}),
gomail.SetHeader(map[string][]string{"Content-Type": {"text/csv"}}),
)