在IIS中使用C#新建Outlook窗口
本文关键字:新建 Outlook 窗口 IIS | 更新日期: 2023-09-27 18:24:14
我试图打开带有body的outlook窗口来发送消息。当我和我的本地人一起工作时,它会完美地打开。但是当我使用IIS时,outlook窗口不会打开。
public static void SendMailInOutlook(Page CurrentPage, Type ScriptType,
string Subject, string Recipients, Dictionary<string, string> emailInputs,
string emailTemplatePath)
{
static Microsoft.Office.Interop.Outlook.Application outlookApp;
static Microsoft.Office.Interop.Outlook._MailItem mailItem;
outlookApp = new Microsoft.Office.Interop.Outlook.Application();
mailItem = (Microsoft.Office.Interop.Outlook._MailItem)outlookApp.CreateItem(
Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mailItem.Subject = Subject;
mailItem.To = Recipients;
mailItem.HTMLBody = SendMail.GetEmailContent(emailInputs, emailTemplatePath);
Thread newThread = new Thread(SendEmailToOutLook);
newThread.Start();
}
static void SendEmailToOutLook()
{
string sMsg = "Email sent successfully.";
try
{
mailItem.Display(true);
}
catch (Exception ex)
{
sMsg = ex.Message;
}
}
它不会。您的代码绑定是在web服务器上执行的,而不是在客户端机器上。因此,当您在本地开发并在本地运行web应用程序时,代码会在同一台机器上执行,因此"可以工作"。但一旦部署,"Outlook代码"就会在与浏览器所在的机器不同的机器上执行。它无法工作。
这个需求最常见的方法是"mailto链接",类似于<a href='mailto:a@b.com'...