我必须向数百名用户发送电子邮件。每个都有一个为收件人量身定制的链接,所以我需要用脚本/代码生成电子邮件 - 我不是Notes开发者所以我不能在Notes中这样做;我正在使用C#,我将列表从SQL数据库中拉出来。
有一些限制:
我尝试过创建HTML邮件,但遇到了问题:
如果我使用带有提交按钮的表单和指向链接的操作,Notes会尝试使用其内部浏览器失败(因为该站点使用集成Windows身份验证)。
如果我使用带有img标签的href标签,指向网络服务器上的图像,Notes拒绝显示图像 - 我只是得到红色的x框,即使标签有效,嵌入在网页中。
任何人都知道我该怎么做?
答案 0 :(得分:1)
我终于找到了一种方法:将图像嵌入电子邮件本身。我找到了解决方案here。我会在这里包括关键的东西,以防万一。
电子邮件有三个关键组件:纯文本版本,html版本和图像,所有这些都构成为AlternateViews:
string imagePath = @"C:\Work\images\clickhere.jpg";
AlternateView imageView = new AlternateView(imagePath, MediaTypeNames.Image.Jpeg);
imageView.ContentId = "uniqueId";
imageView.TransferEncoding = TransferEncoding.Base64;
:
//loop to generate the url and send the emails containing
AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(
BuildPlainTextMessage(url), null, "text/plain");
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
BuildHtmlMessage(url), null, "text/html");
//set up MailAddress objects called to and from
:
MailMessage mail = new MailMessage(from, to);
mail.Subject = "ACTION REQUIRED: Do this by then or else";
mail.AlternateViews.Add(plainTextView);
mail.AlternateViews.Add(htmlView);
mail.AlternateViews.Add(imageView);
//send mail using SmtpClient as normal
:
//endloop
BuildHtmlMessage(string)和BuildPlainTextMessage(string)只返回包含消息的字符串。 BuildHtmlMessage包含此选项以在“url”链接中显示图像:
sb.AppendLine("<div>");
sb.AppendFormat("<a href=\"{0}\" target=\"_blank\">", url);
sb.Append("<img alt=\"Click here button image\" hspace=0 src=\"cid:uniqueId\" ");
sb.Append("align=baseline border=0 >");
sb.Append("</a>");
sb.AppendLine("</div>");
希望有时这对其他人有用。
答案 1 :(得分:0)
我想无论你使用什么链接(按钮,文本),你都会遇到Notes客户端启动内部浏览器的同样问题。这是Notes客户端的首选项,它可能在所有计算机上都有所不同。
我首先尝试使用标准文本链接来查看它是否具有相同的行为。也许如果由于某种原因确实有效,那么至少可以提供一种解决方法。
关于图像问题 - 是使用Windows身份验证来自服务器的图像吗?确保图像对公众开放,并且不需要身份验证就可以看到它(在Firefox中测试,如果没有得到密码提示,那么你就是安全的)
我讨厌说出来,但您可能要求用户将其电子邮件中的网址复制到特定的浏览器。至少你知道那会起作用。
答案 2 :(得分:0)
我同意Ken对内部浏览器的偏好。未显示的图像 - 显示红色x - 也可能是偏好。我不记得它是否在R7中可用,但在R8中,优先选择不自动显示远程图像。这是一项安全功能。它也可能是代理问题 - 如果他们必须登录到他们的互联网代理服务器才能上网,而你的图像在互联网上......
答案 3 :(得分:0)
还有这个但它用我的Notes配置向用户发出安全警告:
<input type='button'
onclick=document.location.href='http://server/path';
value='Click here'
id='buttonID' class='button'
xstyle='background-color:red;color:white;'/>