编程语言
首页 > 编程语言> > java – 有关在电子邮件签名中实现图像的一些问题?

java – 有关在电子邮件签名中实现图像的一些问题?

作者:互联网

我需要用image实现电子邮件签名.截至目前,我们只支持已经工作的电子邮件签名中的文本.我需要提供功能
我可以在邮件签名中插入图像.我可以将电子邮件发送给myapplication中的用户,也可以发送给外部邮件域上的用户,例如gmail,yahoo等
邮件发送给我的应用程序系统中的某个用户,系统进入数据库,当接收者收到收件箱(内部从数据库读取邮件).现在如果用户
在gmail上将邮件发送给外部用户,它使用javax mail api.我可以收到来自外部邮件域(gmail,yahoo等)的电子邮件.现在我有了
基于tis要求的几个问题: –

1)对于像gmail这样的外部邮件域如何将签名内的图像发送到另一个域(我的应用程序邮件域),是否有任何标准?
与gmail用户相关的另一点可以有两个图像,一个用于签名,另一个用于体内图像.我如何确定哪个图像属于
签名?是否有任何明确的财产?

2)也无法确定发送的最佳/一致方法(无论是内部应用程序用户还是外部邮件域用户)包含的电子邮件签名
图像,以便在用户收到它时正确呈现?

我在脑海中对第2点的看法: – 我之前认为我可以使用How to display an image in jsp?建议的解决方案
使用标记< .img src =“/ getImage.action?imageId = 123”&gt ;,我可以从动作类或servlet中的db获取图像并返回.但请记住
 一旦我通过gmail将邮件发送给用户,他将无法访问servlet.所以这种方法似乎不符合要求.
然后我遇到了另一个伟大的stackoverflow链接base64 encoded images in email signatures在哪里
蒂姆梅多拉的解决方案看起来很棒但是再一次解决方案Gmail下面的评论似乎不再支持它再次结束了我的民众
我认为如果邮件域像gmail,雅虎支持建议的解决方案我真的应该这样做,因为在那种情况下我可以发送图像作为base64字符串而不是
图像作为附件.

如果你能为我提供关于第1点和第2点的一些指针/方法,那么人们将非常感激

解决方法:

要在电子邮件中包含图像,首先必须将图像作为MIME附件包含在电子邮件中.每个附件都必须具有“Content-ID”标头.

--f46d0444ea0d6991ba04b91c92e6
Content-Type: image/gif; name="theImage.gif"
Content-Transfer-Encoding: base64
Content-ID: <theImage@abcd>

[base64 string]
--f46d0444ea0d6991ba04b91c92e6--

2)然后,在电子邮件消息中,在< img>的src属性中包含Content-ID.标签.

<img src="cid:theImage@abcd" />

标签:java,base64,email,mime-types
来源: https://codeday.me/bug/20191006/1858704.html