Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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# 慢线程电子邮件发送者_C#_Asp.net Mvc_Email_Iis 7 - Fatal编程技术网

C# 慢线程电子邮件发送者

C# 慢线程电子邮件发送者,c#,asp.net-mvc,email,iis-7,C#,Asp.net Mvc,Email,Iis 7,我制作了一个Razor MVC3网站,从中我可以发送电子邮件 我提供了一项服务,获取所有用户和电子邮件信息,并启动一个发送格式化电子邮件的线程。 我做了自己的线程池 在我的电脑上,一切都很正常。我每秒发送电子邮件。 但是,当我在亚马逊服务器ec2上部署我的网站时,电子邮件发送速度变得非常慢(3分钟/封邮件),我的一半电子邮件都失败了 亚马逊服务器比我的电脑强大得多。带宽也一样。 我不知道这是IIS还是线程配置,我错过了 有什么想法吗 //-----------------代码发送电子邮件----

我制作了一个Razor MVC3网站,从中我可以发送电子邮件

我提供了一项服务,获取所有用户和电子邮件信息,并启动一个发送格式化电子邮件的线程。
我做了自己的线程池

在我的电脑上,一切都很正常。我每秒发送电子邮件。
但是,当我在亚马逊服务器ec2上部署我的网站时,电子邮件发送速度变得非常慢(3分钟/封邮件),我的一半电子邮件都失败了

亚马逊服务器比我的电脑强大得多。带宽也一样。 我不知道这是IIS还是线程配置,我错过了

有什么想法吗

//-----------------代码发送电子邮件------------------------

using (SmtpClient smtp = new SmtpClient()
{
      Host = serverSMTP,
      Port = 25,
      EnableSsl = false,
      DeliveryMethod = SmtpDeliveryMethod.Network,
      Credentials = new NetworkCredential(senderAddress.Address, carteiraPassword),
      Timeout = 10000
 })
 {
      ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; //test
      smtp.Send(message);
 }
public class MyThread
{
    #region Param
    public string Id { get; set; }
    public RunNewThread RunThreadDelegate;        
    private System.Threading.Thread Thread { get; set; }
    #endregion

    public SiscobThread(RunNewThread RunThreadDelegate)
    {
        this.RunThreadDelegate = RunThreadDelegate;
    }

    public void Init()
    {
        this.Thread = new System.Threading.Thread(this.RunThread);
        MsgManager.Instance.SendError("Thread born " + this.Id, null);
    }

    private void RunThread()
    {
        this.RunThreadDelegate();
    }

    public void Start()
    {
        this.Thread.Start();
    }

    public void Stop()
    {
        this.Thread.Abort();
    }
}
//-----------------类线程------------------------

using (SmtpClient smtp = new SmtpClient()
{
      Host = serverSMTP,
      Port = 25,
      EnableSsl = false,
      DeliveryMethod = SmtpDeliveryMethod.Network,
      Credentials = new NetworkCredential(senderAddress.Address, carteiraPassword),
      Timeout = 10000
 })
 {
      ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; //test
      smtp.Send(message);
 }
public class MyThread
{
    #region Param
    public string Id { get; set; }
    public RunNewThread RunThreadDelegate;        
    private System.Threading.Thread Thread { get; set; }
    #endregion

    public SiscobThread(RunNewThread RunThreadDelegate)
    {
        this.RunThreadDelegate = RunThreadDelegate;
    }

    public void Init()
    {
        this.Thread = new System.Threading.Thread(this.RunThread);
        MsgManager.Instance.SendError("Thread born " + this.Id, null);
    }

    private void RunThread()
    {
        this.RunThreadDelegate();
    }

    public void Start()
    {
        this.Thread.Start();
    }

    public void Stop()
    {
        this.Thread.Abort();
    }
}

请向亚马逊咨询。我敢肯定,除非你在申请表中填写一份表格,说明电子邮件的用途,否则他们会限制出站电子邮件连接

这使得垃圾邮件发送者更难创建新实例并广播其垃圾

我仔细看了看:

每亚马逊:

对。为了保持发送的EC2地址的质量 电子邮件,我们对可以发送的电子邮件数量强制执行默认限制 从EC2帐户发送。如果您希望发送更多的电子邮件 从EC2中,您可以申请从您的帐户中删除这些限制 由


谢谢,就是这个。我在一天结束时收到:

亲爱的EC2客户,您最近达到了电子邮件数量的限制 您能够从实例上的SMTP端口25发送:

实例ID:xxxxxxxx *IP地址:xxxxxxxx *开始日期:xxxxxxxx

为了保持发送电子邮件的EC2地址的质量, 我们对可以从中发送的电子邮件数量实施默认限制 EC2账户。如果您希望从EC2发送更多的电子邮件, 您可以通过以下方式申请从您的帐户中删除这些限制: 填写我们的在线申请表

如果您不知道您的实例已发送电子邮件,我们建议 检查实例应用程序以确认此活动 是有意的。您有责任确保您的实例 所有应用程序都受到保护,防止未经授权使用。对于 有关保护实例的建议,请访问aws.amazon.com/security

您好,您的Amazon Web Services EC2团队