为什么以下代码会删除默认的Outlook签名?
function GetMailToInfo(attachment, body) {
attachment = attachment ? attachment + lineBreak + lineBreak : lineBreak;
body += lineBreak + attachment;
window.location.href = "mailto:" + emailTo + "?subject=" + self.subject() + "&body=" + body;
}
我尝试使用以下代码生成电子邮件,但出于某种原因,电子邮件正在打开而没有用户的默认签名。
如何解决这个问题?
Per @Dmitry Streblechenko的回答:
这是我编辑过的代码,但电子邮件仍然打开时没有签名:
var outlook = new ActiveXObject('Outlook.Application');
var email = outlook.CreateItem(0);
var insp = email.GetInspector;
email.Subject = self.subject();
email.Display();
email.HTMLBody = body;
答案 0 :(得分:2)
因为您正在设置邮件正文。如果您没有指定正文,则会添加签名。
使用mailto网址无法满足您的需求。您将需要使用Outlook对象模型。
创建(new ActiveXObject()
)Outlook.Application
对象的实例,使用Application.CreateItem(0)
创建新消息,设置Subject / To / CC / BCC属性,调用{{1} }。此时Outlook将添加签名。现在阅读MailItem.Display()
属性,将其与您自己的文本合并,然后重新设置HTMLBody属性。您可以使用HTMLBody
属性(很容易将签名与您自己的数据合并),但之后您将失去格式。