使用签名Javascript的电子邮件

时间:2017-01-26 16:43:02

标签: javascript outlook

为什么以下代码会删除默认的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;

1 个答案:

答案 0 :(得分:2)

因为您正在设置邮件正文。如果您没有指定正文,则会添加签名。

使用mailto网址无法满足您的需求。您将需要使用Outlook对象模型。

创建(new ActiveXObject()Outlook.Application对象的实例,使用Application.CreateItem(0)创建新消息,设置Subject / To / CC / BCC属性,调用{{1} }。此时Outlook将添加签名。现在阅读MailItem.Display()属性,将其与您自己的文本合并,然后重新设置HTMLBody属性。您可以使用HTMLBody属性(很容易将签名与您自己的数据合并),但之后您将失去格式。