发送邮件时 C# 参数超出范围

C# Argument out of Range while sending mail

有时,使用以下代码:

  return SmtpClient.Send(message, OutboundClient.Host, OutboundClient.Port);

我检索到以下错误:

 ArgumentOutOfRangeException: Count cannot be less than zero.Parameter name:count
      at System.String.RemoveInternal(Int32 startIndex, Int32 count)
      at ActiveUp.Net.Mail.TraceInfo.ToString()
      at ActiveUp.Net.Mail.Header.ToHeaderString(Boolean removeBlindCopies)
      at ActiveUp.Net.Mail.Message.ToMimeString(Boolean removeBlindCopies)
      at ActiveUp.Net.Mail.Message.ToMimeString()
      at ActiveUp.Net.Mail.SmtpClient.Send(Message message, String host, Int32 port)

在我的代码中,Host 和 Port 是静态值,它们从不更改消息,而是在另一个邮箱中读取(消息对象)(但我已经检查过即使抛出此异常也始终有效)

有人知道为什么有时我会得到上面的异常吗?

您应该检查 MailSystem.NET 的版本。

There was a bug 在 71651 之前的版本上看起来像你的。

FromByWithForViaId都为空时发生。