我知道已经提出了类似的问题,但答案几乎总是一样的:您需要在服务器上共享图像并从电子邮件中链接到该图像。
为了我的目的,我不能那样做。
我需要为每个发送电子邮件的用户个性化图像(因此电子邮件将为每个用户动态生成,并且不会总是相同。我无法共享图像 - 因为它会改变,但也会避免泄露用户信息)。
您是否遇到过这种情况?我应该使用附件或base64编码的图像吗?想法/经验?
答案 0 :(得分:2)
HTML正文必须使用内容标识(cid)引用图像:<img src="cid:xyz">
,其中xyz是附件内容标识(Content-ID)MIME标头的值。
如果要以MIME格式直接创建邮件,请确保将附件添加到邮件中,并正确设置其Content-ID MIME标头。如果您是Outlook对象模型或MAPI,则必须在图像上设置PR_ATTACH_CONTENT_ID属性。
答案 1 :(得分:-1)
由于HTML5允许内联的base64编码图像,这可能是最简单的方法。请检查以下来源:http://www.bigfastblog.com/embed-base64-encoded-images-inline-in-html
您应该考虑并非所有邮件客户端都支持HTML5,因此附加图像并在代码中引用它可能是更难但更好的选择。不幸的是,我没有这方面的经验。
编辑:本教程看起来很有前景,但我还没有尝试过:http://www.phpeveryday.com/articles/PHP-Email-Using-Embedded-Images-in-HTML-Email-P113.html