在asp.net中向所有类型的电子邮件地址发送电子邮件

时间:2012-11-23 06:00:18

标签: asp.net asp.net-mvc email

我想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();

这是web配置文件代码:

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

1 个答案:

答案 0 :(得分:0)

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

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

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

对于大多数人来说,你的smtp服务器可以将邮件发送到外国邮件服务器,这样你就不会在发送邮件时收到异常。

几分钟,几小时甚至几天后,外国邮件服务器会将发送失败通知电子邮件发送到发件人电子邮件地址,并附上具体的失败原因。