使用Microsoft Outlook从Asp.Net Webform应用程序发送电子邮件

问题描述:

我有一个asp.net网页表单,点击一个按钮发送我想要一封电子邮件发送到我的Microsoft Outlook电子邮件帐户。我这样做对其他使用Microsoft Outlook从Asp.Net Webform应用程序发送电子邮件

网站,但使用的是Hotmail,这是但所有外部Web的电子邮件提供商都通过防火墙的公司受阻(如​​我试图建立一个Gmail帐户),所以

我需要使用Outlook,但我没有想法如何实现这一点,我在Google上看到的解决方案似乎不工作。我不知道这是否会成为一个

差或没有,但我已经被告知,用户密码epxires每30天所以我怀疑我需要使用windows authenication什么

,但不能确定。

我不知道如何展望从过去的经验,从使用的邮件仅仅是一个按钮的点击发送的Hotmail发送电子邮件,因为我知道,但我

不知道面貌将打开电子邮件窗口供用户点击发送按钮。如果确实如此,我需要在网络表单上捕获的信息为

包含在电子邮件中并且电子邮件正文的内容不会被更改(如果可以这样做,则不确定它是否可以但不是问题如果它

不能)。

下面是我用于当我尝试Gmail的代码,但正如我所说我被告知它不会被允许。

​​
+0

您正试图通过谷歌的SMTP代理从本地帐户发送? –

+0

@PatrickHofman上面的代码是我使用过的,用于从hotmail accounf发送电子邮件到另一个hotmail acc。我知道这个代码不适用于Microsoft Outlook,正如我所说的所有网络电子邮件(Hotmail,Gmail,雅虎等)都被阻止了。如果你有一个建议来清理上面的代码,请帮助,我可以看看它是否会起作用。 – murday1983

+0

是的,使用您工作地点的服务器设置。 –

编辑2:现在,我们已经建立了你的经历exchance这是怎么了我的代码一贯致力于

SmtpClient sptmClient = new SmtpClient("exchange server name") 
MailMessage m = new MailMessage(); 
m.To.Add(new MailAddress("Address")); 
m.From = new MailAddress(""); 
m.Subject = ""; 
m.Body = ""; 
m.IsBodyHtml = true; 
sptmClient.Send(m); 

但使用Outlook interoperlation在这里另外一个答案,可能更好地为您

+0

我完全不能使用Gmail。电子邮件发送功能需要使用Microsoft Outlook(而不是Outlook.com)。然后,这将会从另一个用户的电子邮件地址发送一封电子邮件,并且还需要CC向我刚才告诉的另一个用户发送电子邮件。 – murday1983

+0

@ murday1983对不起,我刚才看到这个评论。使用GMail,你必须减少你的Gmail安全设置。它也是一只绝对的猪。但尝试发送,你会收到来自Gmail的消息,然后你可以通过你的设置,并可能需要更改密码,并需要检查一些框,说你接受安全性较低的风险 –

随着交换它必须工作。

测试:

using Outlook = Microsoft.Office.Interop.Outlook; 

private void SendWithExchange() 
      { 

       Outlook.Application oApp = new Outlook.Application(); 
       Outlook.MailItem mail = oApp.CreateItem(
        Outlook.OlItemType.olMailItem) as Outlook.MailItem; 
       mail.Subject = "Exemple à tester"; 
       Outlook.AddressEntry currentUser = 
        oApp.Session.CurrentUser.AddressEntry; 
       if (currentUser.Type == "EX") 
       { 
        Outlook.ExchangeUser manager = 
         currentUser.GetExchangeUser(); 
        mail.Recipients.Add(manager.PrimarySmtpAddress); 
        mail.Recipients.ResolveAll(); 
        //mail.Attachments.Add(@"c:\sales reports\fy06q4.xlsx", 
        // Outlook.OlAttachmentType.olByValue, Type.Missing, 
        // Type.Missing); 
        mail.Send(); 
       } 
      }