Html 通过 Microsoft.Office.Interop.Outlook 添加时的图像大小
Html Image size when added via Microsoft.Office.Interop.Outlook
使用 MS Outlook 2010,Visual Studio 2012 中的 c#,Microsoft.Office.Interop.Outlook 版本 14。
我正在尝试使用 outlook 自动化打开一封新电子邮件,其中预先填充了一些 html。
代码如下:
using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook;
...
// bring up outlook
Application oApp = new Application();
Outlook._MailItem oMailItem = (Outlook._MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
oMailItem.To = "any@any.com";
string body = System.IO.File.ReadAllText("welcome.html");
oMailItem.HTMLBody = body;
oMailItem.Subject = "Welcome";
oMailItem.Display(false);
其中 welcome.html 看起来像这样:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Welcome</title>
</head>
<body lang="EN-AU">
<p>hello world</p> <!-- XXX : repeat as necessary -->
<p>
<img src="http://www.w3.org/2008/site/images/logo-w3c-mobile-lg" alt="logo" />
</p>
</body>
</html>
注意:可以使用任何标志(不要太小)——我使用的标志只是一个例子。
代码运行正常,但徽标大小有问题。
当标记为 XXX 的 html 行重复多次(例如 50 次)时,可能会出现此问题。
有两种情况:
a) 在 outlook 中,在发送电子邮件之前,向下滚动以查看完整文档。我注意到 outlook 似乎调整了图像的大小。邮件发送后,收件人看到的是正常大小的图片:
b) 在 Outlook 中,在发送电子邮件之前,请勿向下滚动以查看完整文档。收到电子邮件时,图像很小。 (32 像素 x 32 像素):
情况 a) 产生的电子邮件是期望的结果。但如果用户在发送前不必向下滚动来预览整个内容,那就更好了。
任何解决方法?在 img 上使用 html 宽度和高度属性来显式设置尺寸似乎可行,但这是不可取的,因为在现实生活中,图像是动态选择的(因此无法硬编码尺寸)。如果有某种方法(通过自动化)在发送前模拟预览整个电子邮件,这也可能有效。
萌,
Outlook 使用 Word 作为电子邮件编辑器。您可以在 MSDN 中的以下系列文章中阅读有关受支持和不受支持的 HTML 元素、属性和级联样式表属性的信息:
使用 MS Outlook 2010,Visual Studio 2012 中的 c#,Microsoft.Office.Interop.Outlook 版本 14。
我正在尝试使用 outlook 自动化打开一封新电子邮件,其中预先填充了一些 html。
代码如下:
using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook;
...
// bring up outlook
Application oApp = new Application();
Outlook._MailItem oMailItem = (Outlook._MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
oMailItem.To = "any@any.com";
string body = System.IO.File.ReadAllText("welcome.html");
oMailItem.HTMLBody = body;
oMailItem.Subject = "Welcome";
oMailItem.Display(false);
其中 welcome.html 看起来像这样:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Welcome</title>
</head>
<body lang="EN-AU">
<p>hello world</p> <!-- XXX : repeat as necessary -->
<p>
<img src="http://www.w3.org/2008/site/images/logo-w3c-mobile-lg" alt="logo" />
</p>
</body>
</html>
注意:可以使用任何标志(不要太小)——我使用的标志只是一个例子。
代码运行正常,但徽标大小有问题。 当标记为 XXX 的 html 行重复多次(例如 50 次)时,可能会出现此问题。
有两种情况:
a) 在 outlook 中,在发送电子邮件之前,向下滚动以查看完整文档。我注意到 outlook 似乎调整了图像的大小。邮件发送后,收件人看到的是正常大小的图片:
b) 在 Outlook 中,在发送电子邮件之前,请勿向下滚动以查看完整文档。收到电子邮件时,图像很小。 (32 像素 x 32 像素):
情况 a) 产生的电子邮件是期望的结果。但如果用户在发送前不必向下滚动来预览整个内容,那就更好了。
任何解决方法?在 img 上使用 html 宽度和高度属性来显式设置尺寸似乎可行,但这是不可取的,因为在现实生活中,图像是动态选择的(因此无法硬编码尺寸)。如果有某种方法(通过自动化)在发送前模拟预览整个电子邮件,这也可能有效。
萌,
Outlook 使用 Word 作为电子邮件编辑器。您可以在 MSDN 中的以下系列文章中阅读有关受支持和不受支持的 HTML 元素、属性和级联样式表属性的信息: