Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在我终止应用程序之前,邮件不会被发送-System.Mail.Net_C#_.net_Email - Fatal编程技术网

C# 在我终止应用程序之前,邮件不会被发送-System.Mail.Net

C# 在我终止应用程序之前,邮件不会被发送-System.Mail.Net,c#,.net,email,C#,.net,Email,我已经编写了一些简单的代码,使用System.mail.Net名称空间发送自动生成的电子邮件 它就像一个符咒,但有一个小问题 直到我的整个申请被终止,邮件才被发送 你们中有人有解决这个问题的办法吗 以下是我使用c语言编写的代码: try { MailMessage mail = new MailMessage(); mail.From = new MailAddress("myEmail@mail.com");

我已经编写了一些简单的代码,使用System.mail.Net名称空间发送自动生成的电子邮件

它就像一个符咒,但有一个小问题

直到我的整个申请被终止,邮件才被发送

你们中有人有解决这个问题的办法吗

以下是我使用c语言编写的代码:

try
        {
            MailMessage mail = new MailMessage();

            mail.From = new MailAddress("myEmail@mail.com");
            mail.To.Add("targetEmail@mail.com");

            mail.Subject = "Test test";
            mail.Body = "blah blah";

            mail.Attachments.Add(new Attachment("c:\\file.txt"));  

            SmtpClient smtp = new SmtpClient("myserver.mail.com");
            smtp.Send(mail);
        }
        catch (SmtpFailedRecipientsException ex)
        {
            Console.WriteLine(ex);
        }
正如我所说的,一切正常,但邮件不会发送,直到我终止应用程序

有没有办法强迫它现在就发送邮件

这是一个问题的原因,既因为我希望在用户无需重新启动应用程序的情况下立即发送邮件,也因为我希望在邮件发送后删除附件,并且当邮件未发送时,文件因此被标记为正在使用,因此无法删除

致意

/S

呼叫

smtp.Send(mail);
立即将电子邮件发送到smtp服务器。如果您没有看到该行执行后立即发送电子邮件,那么我将检查您的smtp服务器是否正常工作

这是关于SmtpClient的。

呼叫

smtp.Send(mail);
立即将电子邮件发送到smtp服务器。如果您没有看到该行执行后立即发送电子邮件,那么我将检查您的smtp服务器是否正常工作


这是关于SmtpClient的。

我也遇到了同样的问题,使用发布在上的解决方法似乎可以奏效:

对于任何感兴趣的人,我已经找到了解决方案,或者至少找到了解决延迟的方法

ServicePoint成员包含一个名为MaxIdleTime的成员。将此值设置为0似乎与Timeout.Infinite具有相同的影响,我假定它也是0。将其设置为1会立即发送我的电子邮件

请参阅此链接:

示例代码:


我也遇到过同样的问题,使用发布在上的解决方案似乎很有效:

对于任何感兴趣的人,我已经找到了解决方案,或者至少找到了解决延迟的方法

ServicePoint成员包含一个名为MaxIdleTime的成员。将此值设置为0似乎与Timeout.Infinite具有相同的影响,我假定它也是0。将其设置为1会立即发送我的电子邮件

请参阅此链接:

示例代码:


我想知道你的应用程序是否在附件上有一个锁,在你的应用程序开始关闭之前,它会阻止邮件组件工作。在发送邮件之前,您能否验证是否已清除所有锁


你可以从一个只发送电子邮件的新小应用开始。一旦它正常工作,添加一个硬编码附件。确认它仍在工作。如果一切正常,请添加处理附件的代码。如果它坏了,调整你的代码。冲洗并重复

我想知道您的应用程序是否在附件上有一个锁,在应用程序开始关闭之前,它会阻止邮件组件工作。在发送邮件之前,您能否验证是否已清除所有锁


你可以从一个只发送电子邮件的新小应用开始。一旦它正常工作,添加一个硬编码附件。确认它仍在工作。如果一切正常,请添加处理附件的代码。如果它坏了,调整你的代码。冲洗并重复

我以前见过这个问题。我必须关闭诺顿防病毒发送电子邮件扫描,以使电子邮件立即消失


HTH

我以前见过这个问题。我必须关闭诺顿防病毒发送电子邮件扫描,以使电子邮件立即消失


HTH

我会非常小心的。有关更多信息,请参阅。我会对此非常小心。有关更多信息,请参阅