利用SmtpClient异步地发送邮件

代码如下:

 

public void SendAsyncMail()
{
    MailMessage mail = new MailMessage();

    mail.From = new MailAddress("Enter from mail address");
    mail.To.Add(new MailAddress("Enter to address #1"));
    mail.To.Add(new MailAddress("Enter to address #2"));
    mail.Subject = "Enter mail subject";
    mail.Body = "Enter mail body";

    SmtpClient smtpClient = new SmtpClient();
    Object state = mail;

    //event handler for asynchronous call
    smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
    try
    {
        smtpClient.SendAsync(mail, state);
    }
    catch (Exception ex)
    {

    }
}
    
void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{

    MailMessage mail = e.UserState as MailMessage;

    if (!e.Cancelled && e.Error!=null)
    {
        message.Text = "Mail sent successfully";
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用System.Net.Mail命名空间中的SmtpClient类和MailMessage类来在WinForms应用程序中发送电子邮件。以下是一个简单的示例: 首先,确保在项目中添加对System.Net.Mail命名空间的引用。 然后,您可以使用以下代码发送电子邮件: ```csharp using System; using System.Net; using System.Net.Mail; using System.Windows.Forms; namespace YourNamespace { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void buttonSend_Click(object sender, EventArgs e) { try { // 创建一个MailMessage对象 MailMessage mail = new MailMessage(); mail.From = new MailAddress("your_email@example.com"); // 发件人邮箱 mail.To.Add(textBoxTo.Text); // 收件人邮箱 mail.Subject = textBoxSubject.Text; // 邮件主题 mail.Body = textBoxBody.Text; // 邮件正文 // 创建一个SmtpClient对象,并设置SMTP服务器地址和端口号 SmtpClient smtpClient = new SmtpClient("smtp.example.com", 587); // 例如:smtp.gmail.com // 设置SMTP服务器的登录凭据(发件人邮箱和密码) smtpClient.Credentials = new NetworkCredential("your_email@example.com", "your_password"); // 启用SSL加密连接 smtpClient.EnableSsl = true; // 发送邮件 smtpClient.Send(mail); MessageBox.Show("邮件已发送成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show("发送邮件时出现错误:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } ``` 在上面的示例中,我们创建了一个名为Form1的WinForms窗体,并添加了三个文本框(textBoxTo,textBoxSubject和textBoxBody),以及一个按钮(buttonSend)来触发发送邮件的操作。在按钮的Click事件处理程序中,我们使用MailMessage类设置邮件的各个属性,使用SmtpClient类设置SMTP服务器的相关信息,然后调用SmtpClientSend方法发送邮件。 请注意,您需要将示例中的电子邮件地址(发件人和收件人)、SMTP服务器地址和端口号、发件人邮箱的登录凭据(邮箱和密码)替换为您自己的信息。 希望对您有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值