Я использую GomailКак добавить изображение в HTML тело сообщения электронной почты (Go)
Я пытаюсь отправить по электронной почте себе. Я выяснил, как это сделать, но теперь я хочу добавить изображение либо в тело html, либо как вложение (на самом деле это не имеет значения). Мне просто нужно увидеть изображение в моем письме.
Во-первых, я посылаю img
src
через POST
запрос, который я затем сохранить в следующем struct
...
type test_struct struct {
Test string `json:"image"`
}
Затем я пытаюсь прикрепить его в теле сообщения электронной почты, как так .. .
mail := gomail.NewMessage()
mail.SetHeader("From", "[email protected]")
mail.SetHeader("To", "[email protected]")
mail.SetHeader("Subject", "IMAGE!")
mail.SetBody("text/html", `<img src="cid:t.Test" alt="My Image"/>`)
это не сработало, так что я пытался использовать Embed method ...
mail.Embed(t.Test)
Это дало мне пустое изображение с ошибкой, имя файла или расширение слишком длинное. Не уверен, что это важно, но обратите внимание, что src
у меня есть от HTML5
Canvas. Я получил источник изображения из холста ...
localCanvas.toDataURL('image/png');
И это значение сохраняет в t.Test
...
buf, err := ioutil.ReadAll(req.Body)
reader := bytes.NewReader(buf)
var t test_struct
err = json.NewDecoder(reader).Decode(&t)
Строка является экономией в t.Test
имеет следующий формат ...
data:image/png:base64, iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgA...
Как отправить это на мой электронный адрес? До сих пор мне доводилось доставлять документацию.
Возможный дубликат [Как вставить изображение в теле письма?] (HTTP://stackoverflow.com/questions/34790771/how-do-i-insert-an-image-into-email-body) –
Является ли 't.Test' изображение или имя файла? –
@JohnSPerayil это изображение, которое я считаю – Bolboa