使用IIS 6.1部署时,无法使用ASP.NET发送Outlook电子邮件



下面提到的是生成Outlook电子邮件的代码:

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim OutlookApplication As New Application()
    Dim email As MailItem = DirectCast(OutlookApplication.CreateItem(OlItemType.olMailItem), MailItem)
    email.Recipients.Add(txtTo.Text)
    email.Subject = "Your Subject Here"
    email.HTMLBody = "<table border=""0"" cellpadding=""0"" cellspacing=""3"" class=""MsoNormalTable"" style=""width: 100.0%; mso-cellspacing: 2.2pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in""" & _
                         "width=""100%"">" & _
                         "<tr style=""mso-yfti-irow: 0; mso-yfti-firstrow: yes"">" & _
                             "<td style=""background: darkorange; padding: .75pt .75pt .75pt .75pt"">" & _
                                 "<p class=""MsoNormal"">" & _
                                     "<b><span style=""font-size: 13.5pt"">Email Header Here:</span></b><br/>" & _
                                     "<span style=""font-size: 10.0pt"">(This email is for information purpose.)</span><o:p></o:p>" & _
                                 "</p>" & _
                             "</td>" & _
                         "</tr>" & _
                         "<tr style=""mso-yfti-irow: 1; mso-yfti-lastrow: yes"">" & _
                             "<td style=""padding: .75pt .75pt .75pt .75pt"">" & _
                                 "<p class=""MsoNormal"">" & _
                                     "<b>1: First Point</b><br/>" & _
                        "We intend to inform you about this...<br/>" & _
                                     "<br/>" & _
                                     "<span style=""background: yellow; mso-highlight: yellow"">***Additional comments Here***</span><o:p></o:p>" & _
                                 "</p>" & _
                             "</td>" & _
                         "</tr>" & _
                     "</table>"
    email.Display()
End Sub

当应用程序使用Localhost运行时,我能够成功地生成电子邮件。但是当使用IIS 6.1部署网页时。页面将不会运行。

有什么解决这个问题的建议吗?

Outlook不能从服务(如IIS)中使用。

您可以使用Exchange Web服务或原始SMTP发送邮件。

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在这种环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁

如果您正在构建一个在服务器端上下文中运行的解决方案,则应该尝试使用那些可以安全执行无人参与的组件。或者,您应该尝试找到至少允许部分代码运行客户端的替代方案。如果使用服务器端解决方案中的Office应用程序,则该应用程序将缺乏成功运行所需的许多功能。此外,您将在整体解决方案的稳定性方面承担风险。

您可以在"Office服务器端自动化注意事项"一文中阅读更多相关内容。

最新更新