当前位置: 首页 > 知识库问答 >
问题:

像Outlook一样发送电子邮件包括图像?

毋城
2023-03-14

共有1个答案

陆烨磊
2023-03-14

除了纯文本之外,Outlook和其他类似的客户端还嵌入HTML版本的文本。然后在html中,他们使用img标记(您在嵌入图像本身时设置的标记)引用带有ID的图像。图像是单独嵌入的,就像您已经做的那样。

但是我建议您使用一个比'img'更独特的ID(不要与上面提到的标记混淆)作为part-ID(例如,哈希原始文件名)。

更新:

...other header parts snipped
Subject: Demo attachments
Content-Type: multipart/alternative;
 boundary="------------080308060008080306040307"

This is a multi-part message in MIME format.
--------------080308060008080306040307
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

This text is attached as HTML. As we reference an image this will be 
displayed here as well as being an attachment as usual.



End of message


--------------080308060008080306040307
Content-Type: multipart/related;
 boundary="------------080209080402080405070800"


--------------080209080402080405070800
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    This text is attached as HTML. As we reference an image this will be
    displayed here as well as being an attachment as usual.<br>
    <br>
    <img src="cid:part1.03070608.09040802@xxxxxxxxxxxxxxxx" alt=""><br>
    <br>
    End of message<br>
    <br>
  </body>
</html>

--------------080209080402080405070800
<img src="cid:part1.03070608.09040802@xxxxxxxxxxxxxxxx" alt="">

ID可以是任何不与身体其他部位碰撞的东西。

还要注意content-disposition行,它指示Thunderbird内联显示它,这并不是必须的,因为它是在HTML中引用的,但它帮助客户机了解此图像的意图是内联显示它,还是作为“纯”附件下载它:

Content-Type: image/png;
 name="ddebjigc.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.03070608.09040802@xxxxxxxxxxxxxxxx>
Content-Disposition: inline;
 filename="ddebjigc.png"

iVBORw0KGgoAAAANSUhEUgAAANsAAAAcCAIAAABnDF0bAAASPElEQVR4nO2b+VMTWbvHc/+I
+TNu6SiyyL4lyL4qm4gIoigiO4ii4OCGsoR9QAQZkRAC4uj4jigZRRyZV3iRfQ+BrJ3uQMjG
Ork/dLrTaxJmbt2aqkvXt6ic06efX/jUs5zzHEZ6WuKBDvTPEePx49YDHeifIwYIQQRBSghS

...在此示例中,为了缩短文本而进行了剪切...

sFjyaDrJSZ6SMnZjnCKphQLLIrYhUgGSPSj6IbHoJl2HxYVvEojkezZ0oo3jlD4ScwvW2EhB
c/8Vv4zUZE66LIuGXdOdV1x0xl/H+Zs+EjNEnCKRMPy8pfs3GKdIaKPEOUXSegUikGFNJ/rB
c/D8nz3/A+4rfUt5pwb4AAAAAElFTkSuQmCC
--------------080209080402080405070800--

--------------080308060008080306040307--
 类似资料:
  • 问题内容: 我正在使用。 使用发送电子邮件(通过)的最佳方法是什么? 问题答案: 有关使用Outlook的解决方案,请参见下面的TheoretiCAL答案。 否则,请使用python随附的smtplib。请注意,这将要求您的电子邮件帐户允许smtp,默认情况下不一定启用此功能。 编辑: 此示例使用保留域,如RFC2606中所述 为了使它真正与gmail配合使用,Doe先生需要进入gmail中的选项

  • 如何发送带有文件的php电子邮件 Antrag=图像文件 我所尝试的 输出电子邮件: 控制器 看法

  • 问题内容: 我正在尝试使用JavaMail以html格式发送电子邮件,但它似乎始终只在Outlook中显示为文本电子邮件。 这是我的代码: 有什么想法为什么电子邮件的html版本不会在Outlook中显示? 问题答案: 经过大量调查,我已经取得了一些重大进展。 首先,我建议不要使用JavaMail,而应使用Jakarta Commons Email 库。这确实大大简化了问题! 现在的代码是: 讲简

  • 我被困在一个公司防火墙后面,它不允许我通过Java Mail API或Apache Commons电子邮件等传统方式发送电子邮件,甚至不允许我发送给公司内部的其他人(无论如何,这就是我想要的)。但我的Outlook 2010显然可以发送这些电子邮件。我想知道是否有办法通过Java代码自动化Outlook 2010,以便Outlook可以发送电子邮件?我知道像“mailto”这样的东西可以用来弹出带

  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送

  • 问题内容: 在Swift 的正常情况下,我使用此代码发送邮件。 如何在SwiftUI中实现相同目标? 我需要使用吗? 问题答案: 如前所述,您需要将组件移植到via 。 这是一个简单的实现: 用法 : (在运行iOS 13的iPhone 7 Plus上进行了测试-就像一个护身符) 为Xcode 11.4更新