【问题标题】:How to sent the unsent mails [closed]如何发送未发送的邮件[关闭]
【发布时间】:2011-12-09 00:00:38
【问题描述】:

在vs2010上工作,asp.net C#。最近我在smtp服务器上工作。使用我需要发送邮件的smtp服务器,我已经成功地完成了这项工作。要发送邮件,我使用下面的语法

public string PostEmail(string mailSubject, string mailBody)
{

    string deliveryStatusCode = "Ok";
    if (!string.IsNullOrEmpty(mailSubject) && !string.IsNullOrEmpty(gConfig.EmailTo))
    {
        MailMessage msg = new MailMessage();
        msg.To.Add(gConfig.EmailTo);
        msg.From = new MailAddress(gConfig.EmailTo);
        msg.Subject = mailSubject;
        msg.Body = mailBody;
        msg.IsBodyHtml = true;

        SmtpClient smtp = new SmtpClient(gConfig.SmtpHost, gConfig.SmtpPort);
        smtp.Credentials = new System.Net.NetworkCredential(gConfig.SmtpCredentials, gConfig.SmtpPassword);
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;


        try
        {
            smtp.Send(msg);
        }
        catch (SmtpException smptpEx)
        {
            deliveryStatusCode = smptpEx.Message;
        }

    }
    else
    {
        deliveryStatusCode = "Invalid or null value entry.";
    }

    return deliveryStatusCode;
}

.现在我面临一个问题,由于某种原因无法发送一些邮件,那些未发送的邮件需要发送,如何发送那些未发送的邮件,smtp中是否有任何机制来执行这项工作或者有什么方法可以解决这个问题。提前谢谢。如果有任何疑问请询问。

【问题讨论】:

  • 我不知道为什么人们给负面标记,我认为上面的问题不像儿童糖果,请任何人告诉我。为什么这是一个坏问题?
  • 您说不能发送,但不清楚。你的代码是否抛出错误?消息是否离开您的系统但从未到达?电子邮件之旅中的跃点太多,不可能将其缩小到您的一小段示例代码。
  • 这个问题还很不清楚。正如大通所说,“无法发送”,这是什么意思?你有例外吗?您是否收到回复(在这种情况下,他们确实被发送,只是没有被正确的收件人收到)

标签: asp.net smtp smtpclient mail-server


【解决方案1】:

如果 smpt 服务器已关闭,则无法发送邮件,您可以使用拾取目录。当它上线时,它会读取目录中的文件并开始发送邮件。

【讨论】:

    【解决方案2】:

    您的 .NET 代码只需接收一条消息,生成并发送电子邮件,然后将其发送到 SMTP 服务器。由 SMTP 服务器重新发送任何未发送的消息。

    您可以按照@peer 所说的去做,而不是发送 SMTP 消息,只需将生成的文件放到 SMTP 提取目录中,但这需要您的 .NET 代码能够访问 SMTP 提取目录。

    另一个选项可能是存储电子邮件对象(在内存中,或在磁盘上序列化),如果 send 抛出错误,请稍后重试。

    但最终,您确实需要首先找出电子邮件未通过的原因。这通常是一个配置问题,可以通过一些调查来缓解。查看网络连接、SMTP 服务器正常运行时间,以及最重要的……身份验证。

    正如我在评论中所说,生成的电子邮件在最终到达最终用户收件箱之前会进行很多次跳转。没有更多关于错误的细节,我们只能投掷飞镖并希望其中一个落下。

    祝你好运
    追逐

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2012-05-23
      • 2017-02-02
      • 1970-01-01
      • 2019-11-17
      • 2021-03-13
      相关资源
      最近更新 更多