ASP.NET에서 대량의 이메일을 보내는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/56975

  •  09-06-2019
  •  | 
  •  

문제

현재 datareader를 통해 루핑 중이며 System.Net.Mail.SmtpClient의 Send() 메서드를 호출하고 있습니다.이 문제는 속도가 느리다는 것입니다.각 이메일을 보내는 데 약 5~10초가 걸립니다(단순히 내 호스트의 문제일 수도 있습니다).다음과 같이 web.config 파일에서 ExecutionTimeout 기본값(기본값은 90초)을 재정의해야 했습니다.

 <httpRuntime executionTimeout="3000" />

한 가지 주의사항:저는 공유 호스트에 있으므로 PickupDirectoryFromIis 옵션을 사용하여 보내는 것이 가능하지 않다고 생각합니다(적어도 이 옵션을 켰을 때 오류가 발생했습니다).

도움이 되었습니까?

해결책

메일을 비동기적으로 보낼 수 있습니다.이렇게 하면 시간 초과로 인해 전송이 중단되지 않아야 합니다.

이 문서는 다음 작업을 시작하는 데 도움이 될 것입니다. C#에서 비동기식으로 이메일 보내기.

여기에는 또 다른 접근 방식이 있습니다. http://www.vikramlakhotia.com/Sending_Email_asynchronously_in_AspNet_20.aspx

물론 사용할 수 있는 상용 클라이언트가 여러 개 있지만 제가 시도하고 추천할 수 있는 유일한 클라이언트는 다음과 같습니다. http://www.aspnetemail.com/

다른 팁

확실히 백그라운드 작업자 프로세스에서 생성하여 비동기식으로 나가도록 합니다.

그런데, 이메일당 5~10초가 나에게는 너무 느린 것 같습니다.내 서버에서는 이메일당 1초도 채 걸리지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top