小编典典
首先,检查t.Test中的数据是否正确(如果包含文件名,路径或需要引用图像的任何内容)
好吧,您有一些选择,首先,如果仅附加图像就可以了,那么您只应该这样做:
mail.Attach("/path/of/your/image/image.png")
但是,如果您需要在消息中使用图像,则可以使用其他方法。
替代项1:使用Embed方法
您必须在文件系统中具有映像,因为该方法是通过这种方式定义的。您必须执行以下操作:
mail.SetBody("text/html", "Image ")
mail.Embed("/path/of/your/image/tux.png")
您必须使用图片名称,在这种情况下tux.png,当您使用img标记将其添加到html正文中时,必须定义srclikecid:tux.png
替代2:使用base64编码
为此,您需要知道图像文件的mime类型,在我的示例中为png文件,因此mime为image/png。另外,您必须将图像编码为base64。
img, err := ioutil.ReadFile("/path/of/your/image/tux.png")
if err != nil {
// check errors
}
out := base64.StdEncoding.EncodeToString(img)
或者,如果文件系统中没有该映像,但将其包含在变量([]byte类型)中,则可以将其与EncodeToString
var imageData []byte
// in some part, you load the image data into imageData
out := base64.StdEncoding.EncodeToString(imageData)
你用它像
mail.SetBody("text/html", fmt.Sprintf("Image ", out))
因此,当您使用时,如果使用img,您必须在src嵌入图像中设置data:mime_type;base64,image_encoded_base64,data:image/png;base64,iVBORw0K...
编辑:
我创建与JSON请求和处理程序的示例实施例
2020-07-02