0

我想对send email我的用户,它工作正常。但由于某些原因,有些用户收不到我的邮件,我猜是因为他们email's format的字数超过 3 个音节(a@b.c.r) ,但其他可以收到我邮件的邮件格式是这样的:a@b.c 现在我应该如何更改代码,以便send emails to every type of emails.

这是代码:

  MailMessage msg = new MailMessage();
        msg.Priority = MailPriority.High;
        msg.Subject = "Account Information";
        //  msg.ReplyTo = new MailAddress(TextBox2.Text);
        msg.From = new MailAddress("waag@waag.ir");
        msg.To.Add(new MailAddress(email));
        SmtpClient mailsender = new SmtpClient();

        mailsender.Host = "SmtpClient.waag.ir";

        mailsender.Port = 587;
        mailsender.EnableSsl = true;
        mailsender.Credentials = new System.Net.NetworkCredential("waag@waag.ir", "classaspnet");
      //  mailsender loginInfo = new System.Net.NetworkCredential("waag@waag.ir", "classaspnet");

        SmtpClient smtp = new SmtpClient();
        msg.Body = bodyMsg.ToString();

这是网络配置文件代码:

  <mailSettings>
      <smtp from="waag@goldentest.ir">
        <network host="mail.waag.ir" port="25" userName="waag@waag.ir" password="*****"/>
      </smtp>
    </mailSettings>
  </system.net>
4

1 回答 1

0

您不必更改您的代码 - 提供的电子邮件地址是否有效。您无法创建将无效电子邮件地址转换为有效电子邮件地址的函数。

您的某些用户可能无法收到您的电子邮件的原因有很多。我只列举其中几个:

  • 电子邮件地址不存在
  • 电子邮件收件箱已满
  • 您的电子邮件被标记为垃圾邮件
  • 临时网络错误
  • 电子邮件地址的格式无效

大多数情况下,您的 smtp 服务器可以将邮件投递到国外邮件服务器,因此您在发送邮件时不会出现异常。

几分钟、几小时甚至几天后,国外邮件服务器会向发件人的邮箱发送一封投递失败通知邮件,并注明具体的失败原因。

于 2012-11-23T08:30:22.660 回答