我在很多问题中都看到过这个问题,但没有一个足够具体来帮助我。因此,我希望如果我简化并再次询问,不会冒犯任何人。希望永恒!
当 Outlook 呈现电子邮件中嵌入的图像时,真的无法控制其宽度吗? IE。控制html代码为的图像的宽度
<img src="cid:seal">
即当 html 代码需要嵌入图像而不是存储在其他地方的图像时。
[注意:“seal”是我在创建带有嵌入图像的 MimeBodyPart 时分配的内容 ID]。
详细信息: 我使用 Javamail 应用程序发送多部分电子邮件。正文部分是一个 html 文档。另一个 MimeBodyPart 携带 html 文档中使用的图像。我已将 html 测试简化为一个两列表格,其中左列用于图像,右列用于文本。
我尝试过的任何方法都无法控制在 OUTLOOK 中打开图像时的大小。
图像始终是我认为必须是图像的某种原始尺寸...太大了...因此它强制第一个单元格的宽度超过 15%。或者,如果我给单元格指定固定宽度,则图像会溢出框,即被剪裁。
我将删除所有字体样式颜色等的基本代码放在下面。
我已经尝试了在 img 标签上使用宽度属性和 css 样式属性的每种组合。我已将图像包装在另一个表格中...或者将其包装在主表格单元格内的 div block 中...甚至将其包装在父表格单元格内的表格单元格内的 div block 中。我尝试过以固定像素和% 来指定宽度。
如果我们都确定这对于 Outlook 来说是不可能的,那就太好了。
或者如果可能的话,发布有效的示例代码。 [让电子邮件立即打开其图像,而不是依赖读者下载它们,这是非常有吸引力的。]
注意:当我之后从外部源加载图像时,我似乎能够控制宽度,即 谢谢你的帮助。
<html>
<head>
<meta name="viewport" content="width=980, initial-scale=1">
<title>Test Email</title>
</head>
<body style="width:100%; border:0;margin:0;padding:0;">
<table align="center"
style="width:980px; border-collapse:collapse;
margin-left:auto; margin-right:auto;">
<tr style="border:0; margin:0; padding:0;">
<td style="width:15%; border:0; margin:0; padding:0;">
<img src="cid:seal"
style="width:6em; height:auto;">
</td>
<td style="width:85%; margin:0; padding:.5em 0em 0em 0em; border:0;">
Some Titles and stuff
</td>
</tr>
<tr>
<td colspan="2" style="border:0; margin:0; padding:1em 1em 0em .5em;">
<p> 1st paragraph
....
<p> last paragraph
</td>
</tr>
</table>
最佳答案
在上面尤金的帮助下,我至少发现了一个好的解决方案。
<img src="cid:seal" width="300" or "300px" of "15%"> DOES NOT WORK.
但是当我放弃引号时,这起作用了
<img src="cid:seal" width=300 height=300>
这当然意味着以 % 为单位设置宽度仍然是一个问题,因为它需要引号。
但我会尽我所能。现在,电子邮件会弹出并带有 Logo ,而无需用户下载图片。 AND ...这个 CSS 主体选择器还可以使用嵌入图像渲染背景。 [我存储了内容 ID 为“bkg”的背景图像。]
再次...与使用引号的 img 属性 src="cid:id"不同,url() 需要不带引号的 id。
<body style="background-image:url(cid:bkg);
background-repeat:repeat;
width:100%;
generic-family:Sans-serif;
font-family:Verdana;
border:0;margin:1em 0 1em 0;padding:0;">
关于Outlook 忽略宽度属性或 css 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912189/