在C#中实现SMTP身份验证需要使用System.Net.Mail命名空间中的SmtpClient类。以下是一个简单的示例代码:
using System;
using System.Net;
using System.Net.Mail;
class Program
{
static void Main()
{
string smtpServer = "smtp.example.com";
int port = 587; // SMTP端口
string userName = "your_username";
string password = "your_password";
string fromAddress = "from@example.com";
string toAddress = "to@example.com";
using (SmtpClient client = new SmtpClient(smtpServer, port))
{
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(userName, password);
client.EnableSsl = true;
MailMessage message = new MailMessage(fromAddress, toAddress);
message.Subject = "Test Email";
message.Body = "This is a test email.";
try
{
client.Send(message);
Console.WriteLine("Email sent successfully.");
}
catch (Exception ex)
{
Console.WriteLine("Failed to send email. Error message: " + ex.Message);
}
}
}
}
在这段代码中,我们首先创建一个SmtpClient对象,并设置SMTP服务器、端口、用户名和密码。然后创建一个MailMessage对象,并设置邮件主题和内容。最后调用SmtpClient的Send方法发送邮件。
请注意,有些SMTP服务器可能需要打开SMTP身份验证功能才能正常发送邮件。另外,为了保证邮件的安全性,建议使用SSL加密连接SMTP服务器。