首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何知道我发送的电子邮件是否成功

我如何知道我发送的电子邮件是否成功
EN

Stack Overflow用户
提问于 2014-11-25 23:41:01
回答 1查看 153关注 0票数 0

我正在尝试开发一个应用程序,发送电子邮件到多个收件人。

我正在通过line.But读取文本文件行中的所有邮件地址,我想知道,例如,我的列表中有50个邮件地址,而数字45出了问题。

我如何才能告知用户关于它的信息,它是否可能发送列表的其余部分?

代码语言:javascript
复制
private void Senmail(IEnumerable<string> list)
{
    var mes = new MailMessage {From = new MailAddress(_uname.Trim())};
    var col = new MailAddressCollection();
    foreach (string adres in list)
    {
        col.Add(adres);
    }

    for (int i = 0; i < GetList().Count(); i++)
    {
        mes.To.Add(col[i].Address);
    }
    mes.Subject = txtbody.Text;
    mes.Body = txtmail.Text;
    mes.Attachments.Add(new Attachment(_filename));

    var client = new SmtpClient
    {
        Port = 587,
        Host = "smtp.gmail.com",
        EnableSsl = true,
        Timeout = 5000,
        UseDefaultCredentials = false,
        Credentials = new NetworkCredential(_uname, _pass),
    };
    object userState = mes;
   client.SendAsync(mes,userState);
   client.SendCompleted += client_SendCompleted;

    MessageBox.Show("ok");
}

void client_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
    if (e.Error!=null)
    {
      //
    }
}
EN

回答 1

Stack Overflow用户

发布于 2014-11-25 23:48:35

因为你使用的是Gmail,所以你的选择非常有限。在最好的情况下,如果无法访问SMTP主机,您将获得异常,但如果您收到200响应,则在技术上您已经履行了交付合同的期限,并且任何后续响应都将在事后交付(例如,电子邮件不存在)。

你可能会在MailMessage的DeliveryNotificationOptions属性下找到一些额外的选项,并处理异常,但这些选项是有限的,并且确实不能提供我相信你正在寻找的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27130907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档