在电子邮件的正文中使用href添加图片

5

我页面上有一个链接,当点击时会打开电子邮件客户端。

我的代码如下:

  <a href="mailto:?subject=Testing&body=AttachImage">

我的问题是如何在电子邮件正文中添加图片。我尝试使用图像src但它没有起作用。有什么建议吗?


可能是在HTML页面中发送带有图像的邮件的重复问题。 - eltonkamami
如此提到:https://dev59.com/8G035IYBdhLWcg3wGMHa#13415988,这根本不可能。 - Irannabi
3个回答

0
假设您已经定义了您的图像,如下所示:

<img id="myimage" src="http://www.myserver.com/images/myimage"></img>

这是它的等效base64编码,您想通过电子邮件发送:

<img id="b64" src=""></img>

您可以使用Base64编码的表单,例如:

function getBase64Image() {
    //return LOGO;
  var dataURL = '';
  try {
    var img = document.getElementById('myimage');
    // Create an empty canvas element
    var canvas = document.createElement("canvas");
    canvas.width = img.width;
    canvas.height = img.height;

    // Copy the image contents to the canvas
    var ctx = canvas.getContext("2d");
    ctx.drawImage(img, 0, 0);

    // Get the data-URL formatted image
    // Firefox supports PNG and JPEG. You could check img.src to guess the
    // original format, but be aware the using "image/jpg" will re-encode the image.
    dataURL = canvas.toDataURL("image/jpg");
  }
  catch(e) {
    console.log('Could not retrieve Base64 image with userAgent : ' + navigator.userAgent + ' \nException : ' + e);
  }
  return dataURL;

}

var base64Image = getBase64Image();

然后设置您的img src:

document["b64"].src = base64Image ;

但这并没有真正回答OP在这里提出的真正问题,是吗?我想我们面临的问题是在电子邮件客户端的电子邮件正文中呈现图像而不是DOM元素。尽管此线程中的解释可能会有所帮助-https://dev59.com/xl8d5IYBdhLWcg3w1VI1 - kabirbaidhya

-3
将该图片放在 <a> 标签内。
<a href="mailto:?subject=Testing">
    <img src="your image path">
 </a>

希望这能有所帮助。


-4

它正在工作,你可能没有定义图像的宽度和高度。

img{
  width:100px;
  height:100px;
}
 <a href="mailto:?subject=Testing&body=AttachImage">
<img src = "https://source.unsplash.com/random">
</a>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接