작은 콘솔 응용 프로그램이 있습니다. 몇 가지 설정을 확인하고 결정을 내리고 이메일을 보냅니다. 문제는 응용 프로그램이 끝날 때까지 전자 메일이 실제로 보내지지 않는다는 것입니다. 전자 메일을 보내는 방법이 완료되면 즉시 전자 메일을 보내려고합니다.신청서에서 이메일을 보낼 때 지연을 피하려면 어떻게해야합니까?
처음에는 MailMessage를 만들고 .Send()를 호출했습니다. 앱이 끝날 때까지 메일이 전송되지 않고 있음을 알았습니다.
그럼 작업 병렬 라이브러리를 사용해 보았습니다.
var taskA = Task.Factory.StartNew(() => msg.Send());
다시 전체 응용 프로그램이 끝날 때까지 메시지가 전송되지 않습니다.
앱이 완료 될 때가 아니라 msg.send가 실행될 때 어떻게 이메일을 보내나요?
감사합니다.
앱을 닫을 때까지이 보내지고 없다고 어떻게 확신? Send()는 동기 메서드입니다. Smtp 서버에 지연이있을 수 있습니다. –
@ 케빈 - 나는 보내는 것을하는 방법을 밟은 후에 기다린다. SMTPClient.Send()가 이미 실행되었고 다른 메소드에 들어갔다. 15 분 이상 기다렸다가 아무 것도 내받은 편지함에 표시되지 않습니다. F5를 누르면 앱이 완료되는 순간 두 번째 또는 두 번째 메시지가 표시됩니다.기다리지 않으면 (앱이 중단 점없이 실행되도록 함) 메시지가 두 번째 또는 두 번째 내에 표시됩니다. – DenaliHardtail
SMTP 서버가 사용중인 컴퓨터의 로컬 서버입니까, 아니면 다른 컴퓨터에 있습니까? –