Outlook 忽略宽度属性或 css 属性

标签 outlook jakarta-mail

我在很多问题中都看到过这个问题,但没有一个足够具体来帮助我。因此,我希望如果我简化并再次询问,不会冒犯任何人。希望永恒!

当 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/

相关文章:

vba - 为在完成前进入无响应状态的宏提供状态更新

JavaMail - 电子邮件中的主题和收件人字段为空

java - 捕获 Javamail 异常

java - 通过 SMTP 发送邮件时获取 "MessagingException: Could not convert socket to TLS"

java - Spring Boot - 使用 Gmail 发送电子邮件

outlook - 固定在 table 周围 - 不在 Outlook 中工作

html - 在 Mailto 正文中插入链接

c# - iCalendar 不为组织者创建事件

html - 查看 Outlook 日历事件的源代码

java - 553 抱歉,身份验证失败或超时。请先收到消息以验证自己的身份。(#4.4.3)