0

メールを送信し、ボリュームが増加するとキューに入れるシステムがあります。

1 時間に 1 ~ 2 通のメールであれば問題なく送信されます。

繁忙期にはキューがバックアップされ、すぐにメール送信が失敗し始めます。

ローカルから SMTP サーバーの負荷テストを行いましたが、問題はありません。


ただし、 VPC のプライベートサブネットにあるEC2 サーバーから負荷テストを実行しようとすると
、発信トラフィックが NAT を通過
し、独自の DNS サーバーがセットアップされます。

最初のいくつかは問題なく動作し、残りはエラーをスローし始めます。

C# 例外の ToString() は次のとおりです。

    System.Net.Mail.SmtpException: Failure sending mail. ---> System.Net.WebExcept
ion: Unable to connect to the remote server ---> System.Net.Sockets.SocketExcept
ion: A connection attempt failed because the connected party did not properly re
spond after a period of time, or established connection failed because connected
host has failed to respond [SMTPServerIP]:25
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddre
ss socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Sock
et s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state,
IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object ow
ner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket
6)
at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Gener
alAsyncDelegate asyncCallback)
at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate
asyncCallback)
at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncD
elegate asyncCallback, Int32 creationTimeout)
at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
--- End of inner exception stack trace ---
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at ConsoleApplication2.Program.Main(String[] args) in c:\ConsoleApplication2\
Program.cs:line 49

これはコードの問題ではなく、NAS または DNS の設定である可能性が高いと確信しています。誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

0

さらにグーグルで調べた後、AWS側のスロットルのようです

出典: http://aws.amazon.com/ec2/faqs/

Q: EC2 インスタンスから E メールを送信する際に制限はありますか?

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

詳細はこちら:

Amazon EC2/SES SMTP タイムアウト

于 2014-04-03T07:39:10.753 に答える