使用c#自动发送电子邮件

时间:2016-06-02 15:01:00

标签: c# email

这是我第一次使用c#发送电子邮件。到目前为止,我从阅读和观看视频中得到的一切。我目前编写的代码用于发送电子邮件。它创建它并显示电子邮件,其中包含所有正确且准备发送的信息。电子邮件打开,然后我点击发送它的工作原理。问题是我希望电子邮件自己发送,而不必单击发送。

这是我的代码:

static void SendEmail()
{      
    Microsoft.Office.Interop.Outlook.Application app = new
        Microsoft.Office.Interop.Outlook.Application();
    Microsoft.Office.Interop.Outlook.MailItem mailItem = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem) as Outlook.MailItem;
    mailItem.Subject = "Status of Code";
    mailItem.To = "bt@outlook.com";
    mailItem.Body = "Code Ran Successfully";
    mailItem.Importance = Outlook.OlImportance.olImportanceHigh;
    mailItem.Display(false);
}

我尝试添加

mailItem.Send;

但我一直收到错误。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

引用微软文档(https://msdn.microsoft.com/en-us/library/swas0fwc(v=vs.110).aspx),我建议改为使用SMTP客户端(而不是特定于Outlook)。

您的代码将类似于:

public static void SendEmail()
{
    string to = "bt@outlook.com";
    string from = "fromAddress@outlook.com";
    MailMessage message = new MailMessage(from, to);
    message.Subject = "Using the new SMTP client.";
    message.Body = @"Code Ran Successfully";
    SmtpClient client = new SmtpClient();
    client.UseDefaultCredentials = true;

    try {
      client.Send(message);
    }  
    catch (Exception ex) {
      Console.WriteLine("Exception caught in SendEmail(): {0}", 
              ex.ToString() );            
    }              
}