시간이 오래 걸리는 독자, 첫 번째 질문자.큰 숨은 참조 목록이있는 SmtpClient.Send (MailMessage) 시간 초과 - C#
수신자에게 110 명의 이메일을 보낼 때 시간 초과가 발생합니다.
나는 웹 사이트에서 내가 운영하는 클럽 회원들에게 하나의 이메일 메시지를 보내려고합니다. 본인을 본인을 발신인과 수신인으로 추가하고 회원의 이메일 주소는 숨은 참조 목록에 포함됩니다. 약 110 명의 회원이 있습니다. 보낸 사람의 사용자 이름과 암호를 사용하여 서버에 대해 인증합니다.
MailMessage를 잘 준비 할 수 있지만 SmtpClient.Send()를 호출하면 제한 시간이 10 분이 되어도 시간 초과됩니다. 받는 사람 수가 적 으면 Send() 메서드는 여전히 시간이 걸리지 만 (5-7 분) 성공적으로 완료됩니다. 첨부 파일이없는 경우에도 메시지 또는 첨부 파일의 크기에 관계없이이 작업이 수행됩니다.
내 호스트 된 웹 서버의 메일 서버가 스팸/차단 목록 또는 각받는 사람 메일 서버와 같은 외부 시스템에 대해 각받는 사람 전자 메일 주소를 어떻게 든 확인한다고 생각합니다.
내 호스팅 회사가 어려움을 겪고있다.
StmpClient 또는 MailMessage에서 메일 서버에이를 알리지 않도록 설정할 수있는 구성원을 알고 있습니까? 또는 Parallels HSPhere 전자 메일 서버를 설정하여이 작업을 중지하면 더 좋을까요?
미리 감사드립니다.
샘플 코드
bool SendEmail(string[] emailAddresses)
{
MailMessage message = new MailMessage();
SmtpClient smtp = new SmtpClient("mail.myServer.org");
message.From = new MailAddress("[email protected]", "Display name");
message.To.Add("[email protected]");
foreach (string recipient in emailAddresses)
{
// ABout 110 recipients
message.Bcc.Add(recipient);
}
message.Subject = "Whatever";
message.ReplyTo = new MailAddress("[email protected]");
smtp.Credentials = new NetworkCredential(message.From.Address, "whatever");
try
{
message.Body = "A few hundred bytes";
smtp.Timeout = 300000; // 10 mins
smtp.Send(message);
}
catch (Exception ex)
{
// Report here
}
return true;
}
표준 메일 클라이언트 (예 : ISP의 웹 메일 클라이언트)를 사용하여 다수의 숨은 참조 주소가있는 메시지를 보내는 경우 비슷한 시간이 걸립니까? –
짐, 나는 그것을 결코 알아 채지 못했지만 나는 그 많은 것을 이전에 보내지 않았다. 다음 번에 발표 할 내용으로 110 개의 항목 BCC 목록을 호스팅하는 웹 메일을 사용자에게 제공하고 비교할 것입니다. 좋은 제안, 고마워. –
smtp.Timeout = 300000; // 10 분. 10 분이 아니라 5 분입니다. –