我制作了一个 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();
}
}