您可以使用以下代碼片段來使用ASP.NET C#向Outlook發(fā)送電子郵件:
using Microsoft.Office.Interop.Outlook;
// 創(chuàng)建Outlook應用程序對象
Application outlookApp = new Application();
// 創(chuàng)建郵件項
MailItem mailItem = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);
// 設置郵件項的屬性
mailItem.Subject = "測試郵件";
mailItem.Body = "這是一封測試郵件";
// 添加收件人
Recipient recipient = mailItem.Recipients.Add("recipient@example.com");
recipient.Type = (int)OlMailRecipientType.olTo;
// 添加附件
string attachmentPath = @"C:\path\to\attachment.txt";
mailItem.Attachments.Add(attachmentPath, Type.Missing, Type.Missing, Type.Missing);
// 發(fā)送郵件
mailItem.Send();
// 釋放資源
System.Runtime.InteropServices.Marshal.ReleaseComObject(mailItem);
System.Runtime.InteropServices.Marshal.ReleaseComObject(outlookApp);
mailItem = null;
outlookApp = null;
但是請注意,這種方法將依賴于安裝了Microsoft Outlook的機器,并且Outlook應用程序對象將在您的代碼中創(chuàng)建一個新的Outlook實例。因此,這種方法僅適用于運行代碼的計算機上已經安裝了Outlook的情況。
另外,您還需要在項目中引用Microsoft.Office.Interop.Outlook
程序集,可以通過Visual Studio的NuGet包管理器來安裝它。
如果您想要發(fā)送郵件而無需依賴于Outlook應用程序,您可以使用SMTP服務器來發(fā)送電子郵件。以下是一個使用SMTP發(fā)送電子郵件的示例代碼:
using System.Net;
using System.Net.Mail;
// 創(chuàng)建SMTP客戶端
SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587);
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("username", "password");
// 創(chuàng)建郵件對象
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("sender@example.com");
mailMessage.To.Add("recipient@example.com");
mailMessage.Subject = "測試郵件";
mailMessage.Body = "這是一封測試郵件";
// 添加附件
string attachmentPath = @"C:\path\to\attachment.txt";
mailMessage.Attachments.Add(new Attachment(attachmentPath));
// 發(fā)送郵件
smtpClient.Send(mailMessage);
在這種情況下,您將使用SMTP客戶端(例如Gmail或Outlook.com)的服務器和憑據來發(fā)送電子郵件。這種方法不依賴于安裝了Outlook的計算機,并且更適用于Web應用程序等無法訪問本地Outlook應用程序的場景。