我使用Delphi RAD Studio 2010和下一个代码通过Outlook发送电子邮件:
procedure SendOutlookMail(email,subject,body,fileat:string);
const
olMailItem = 0;
var
vMailItem: variant;
Outlook: OutlookApplication;
NmSpace: NameSpace;
Folder: MAPIFolder;
begin
Outlook := CoOutlookApplication.Create;
NmSpace := Outlook.GetNamespace('MAPI');
NmSpace.Logon('', '', False, False);
Folder := NmSpace.GetDefaultFolder(olFolderInbox);
Folder.Display;
vMailItem := Outlook.CreateItem(olMailItem);
if email<>'' then vMailItem.Recipients.Add(email);
vMailItem.Subject := subject;
vMailItem.Body := Body;
vMailItem.Attachments.Add(fileat);
vMailItem.Display(false);
end;
它会打开一个新的Outlook邮件,并将其显示在前面,只需按“发送”即可发送。没关系。问题是,使用此方法创建新的电子邮件不会添加签名。如果我在Outlook女士中创建新邮件,则会自动添加签名。
无论如何,我可以添加用户在MS Outlook中配置的签名吗?(不将签名文本添加到“ Body”字符串变量中)。提前致谢。
当您调用MailItem.Display或访问MailItem.GetInspecrtor时,将添加签名。
首先调用MailItem.Display(此时将添加签名),然后将数据与现有主体合并。请注意,设置纯文本的Body属性将消除格式设置,因此您需要使用HTMLBody属性。请记住,不能简单地串联2个HTML字符串-阅读HTMLBody属性,找到适当的插入位置(在<body>
标记之后?),然后插入数据。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句