c# - SMTP 邮件不发送第二次调用

标签 c# .net asp.net smtp sendmail

这是调用sendmail 方法的代码。问题是只有第一次调用 sendmail 才会将邮件发送给接收者。第二次调用 sendmail 时,它执行得很好,但从未发送任何邮件。如果我将应用程序置于 Debug模式,然后逐步执行,两封邮件都会送达。好像程序的执行速度快到出问题了。因此我在发送函数下面保留了一个延迟,所以它开始对我来说工作正常,但我认为这不是一个完美的解决方案。任何人都知道这里发生了什么。

        if (!String.IsNullOrEmpty(SendMailAdmin))
        {
        SendMail(SendMailFrom, SendMailAdmin, Subject, AdminMessageText + "<br>" + MessageText);
        }
        if (!String.IsNullOrEmpty(SendMailOwner))
        {
        SendMail(SendMailFrom, SendMailOwner, Subject, OwnerMessageText + "<br>" + MessageText);
        }

     public void SendMail(String MessageFrom, String MessageTo, String MessageSubject, String MessageBody)
            {
                MailMessage Message = new MailMessage();
                Message.Priority = MailPriority.High;
                Message.From = new MailAddress(MessageFrom);
                Message.To.Add(MessageTo);

                Message.Subject = MessageSubject;
                Message.IsBodyHtml = true;
                Message.Body = MessageBody;

                try
                {
                    SmtpClient client = new SmtpClient(SMTPServer, Convert.ToInt32(SMTPPort));

                    client.UseDefaultCredentials = false;
                    client.Credentials = new NetworkCredential("{myusername}", "{mypassword}");

                    client.Send(Message);
System.Threading.Thread.Sleep(3000);

                }
                catch
                {
                    throw;
                }
            }

最佳答案

我个人认为此时唯一对您有用的是延迟代码。@Shadow 是对的,这就是服务器的配置方式

关于c# - SMTP 邮件不发送第二次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7671949/

相关文章:

asp.net - 将 ASP.NET 3.5 更新为 4.0 -> Sys.WebForms.PageRequestManager 未定义

c# - 在数据库中插入记录时,在 asp.net 中插入两次

asp.net - 为每个模型 CRUD 操作单独的 ASP.NET MVC View 对象?

c# - 一个 list 中有更多不同的项目

.net - 回收工作进程后从 session cookie 中读取的 ClaimsIdentity 类型不正确

c# - 为什么我的线程在显示 Windows 窗体后立即终止?

.net - Microsoft.VisualBasic 命名空间是 "true .NET"代码吗?

c# - 使用反射获取派生类静态实例的实例

c# - Entity Framework 模型生成奇怪的错误消息

C#,如何检测正在打开的新应用程序?