在调用 client.Send()
之前,您可以使用以下方法测试 SmtpClient
是否正常工作:
SmtpClient.SendAsync()
方法异步发送电子邮件,并等待异步操作完成。这样,您可以捕获任何可能的异常,并在发送电子邮件之前对其进行处理。SmtpClient.SendMailAsync()
方法异步发送电子邮件,并等待任务完成。这样,您可以捕获任何可能的异常,并在发送电子邮件之前对其进行处理。SmtpClient.TestConnection()
方法测试 SMTP 服务器连接。这将尝试连接到 SMTP 服务器并验证您的凭据。如果连接成功,则可以继续发送电子邮件。以下是一个使用 SmtpClient.SendAsync()
方法测试 SMTP 客户端的示例:
using System;
using System.Net.Mail;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
try
{
SmtpClient client = new SmtpClient("smtp.example.com", 587);
client.Credentials = new NetworkCredential("username", "password");
client.EnableSsl = true;
MailMessage message = new MailMessage("from@example.com", "to@example.com", "Test subject", "Test body");
await client.SendMailAsync(message);
Console.WriteLine("Email sent successfully.");
}
catch (Exception ex)
{
Console.WriteLine($"Error sending email: {ex.Message}");
}
}
}
请注意,这个示例使用了 async/await
语法,因此 Main()
方法必须标记为 async
。如果您不熟悉 async/await
语法,您可以使用 Task
对象和 ContinueWith()
方法来处理异步操作的结果。
领取专属 10元无门槛券
手把手带您无忧上云