编辑
2025-09-27
C#
00

目录

摘要
正文
常用属性和方法:
一个例子
添加附件
异步发送邮件

摘要

SMTP(Simple Mail Transfer Protocol)是一个用于发送电子邮件的协议。在.NET框架中,我们可以使用System.Net.Mail命名空间下的SmtpClient类来发送邮件。以下是这个类的一些常用属性和方法,以及如何在WinForm应用中使用它们的详细例子。

正文

常用属性和方法:

  1. Host:SMTP服务器的主机名或IP地址。
  2. Port:SMTP服务器的端口号,默认是25。
  3. Credentials:用于验证发件人的凭据。
  4. EnableSsl:确定是否使用SSL加密连接。
  5. Send():发送邮件。
  6. SendAsync():异步发送邮件。

一个例子

image.png

C#
private void btnSend_Click(object sender, EventArgs e) { SmtpClient client = new SmtpClient("smtp.163.com"); client.UseDefaultCredentials = true; client.Credentials = new NetworkCredential("wl9981@163.com", "Iseeyou123"); MailMessage mailMessage = new MailMessage(); mailMessage.From = new MailAddress("wl9981@163.com"); mailMessage.To.Add("wangliang@idiosoft.com"); mailMessage.Body = "This is a test email."; mailMessage.Subject = "Test Email"; client.Send(mailMessage); }

解决方案:这个错误的原因是,邮箱密码的问题,邮箱的密码需要填写授权码,不能填写邮箱的登录密码。邮箱的授权码需要去邮箱开通SMTP服务,然后设置授权码。

添加附件

C#
mailMessage.Attachments.Add(new Attachment("D:\\test.txt"));

异步发送邮件

image.png

C#
string userToken = "test message1"; client.SendCompleted += (o, e) => { string token = (string)e.UserState; if (e.Error != null) { MessageBox.Show("Send Mail ERROR"); } else { MessageBox.Show("Send Mail OK"); } }; client.SendAsync(mailMessage, userToken);

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!