1

Razor MVC3のWebサイトを作成し、そこから電子メールを送信できます。

すべてのユーザーとメール情報を取得し、フォーマットされたメールを送信するスレッドを開始するサービスを作成しました。
私は自分のスレッドプールを作りました。

私のコンピューターでは、すべてが完全に機能します。私は毎秒メールを送信します。
しかし、Amazonサーバーec2にWebサイトをデプロイすると、Eメールの送信が非常に遅くなり(3分/メール)、Eメールの半分が失敗します。

アマゾンサーバーは私のコンピューターよりもはるかに強力です。帯域幅についても同じです。見逃したのが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();
    }
}
4

2 に答える 2

3

Amazonに確認してください。アプリケーションでの電子メールの目的を記載したフォームに記入しない限り、彼らはアウトバウンド電子メール接続を抑制していると確信しています。

これは、スパマーが単に新しいインスタンスを起動してガベージをブロードキャストすることを少し難しくするためにあります。

もう少し詳しく見てみました:http:
//aws.amazon.com/ec2/faqs/#Are_there_any_limitations_in_sending_email_from_EC2_instances

アマゾンごと:

はい。Eメールを送信するためのEC2アドレスの品質を維持するために、EC2アカウントから送信できるEメールの量にデフォルトの制限を適用します。EC2から大量のメールを送信したい場合は、このフォームに記入して、アカウントからこれらの制限を削除するように申請できます。

于 2012-11-09T14:35:26.217 に答える
0

おかげさまでこれでした。私は一日の終わりに受け取ります:

EC2のお客様の皆様、最近、インスタンスのSMTPポート25から送信できるメールの量が制限に達しました。

インスタンスID:xxxxxxxx * IPアドレス:xxxxxxxx *開始日:xxxxxxxx

Eメールを送信するためのEC2アドレスの品質を維持するために、EC2アカウントから送信できるEメールの量にデフォルトの制限を適用します。EC2から大量のメールを送信したい場合は、オンラインリクエストフォームに記入して、アカウントからこれらの制限を削除するように申請できます。

インスタンスがメールを送信したことに気付いていない場合は、インスタンスアプリケーションをチェックして、このアクティビティが意図されたものであることを確認することをお勧めします。インスタンスとすべてのアプリケーションが不正使用から保護されていることを確認するのはユーザーの責任です。インスタンスを保護するための提案については、aws.amazon.com/securityにアクセスしてください。

よろしくお願いいたします。AmazonWebServicesEC2チーム

于 2012-11-12T12:53:51.407 に答える