Как отправить вложение из памяти с помощью gomail?

Я хочу отправить вложение CSV без предварительного сохранения вложенных данных на жесткий диск. Я использую gomail во всем своем коде. Как я могу прикрепить данные прямо из памяти с помощью gomail?

1 ответ

Вы можете использовать FileSetting функции, GoMail обеспечивает

      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"}}),
)
Другие вопросы по тегам