작은 WPF 전자 메일 보낸 사람 자습서를 작성하려고하지만이 눈부신 버그가있는 경우 공유하고 싶지 않습니다.어떻게 계정/암호가 유효한지 확인할 수 있도록 SMTP 서버에 'ping'을 수행 할 수 있습니까?
현재 상황이 발생합니다.
- 사용자 이름과 암호를 입력하십시오.
- 레이블 'loginstatus'는 기복인지 여부에 관계없이 '로그인'으로 변경됩니다.
- 메시지 본문 및 보내기 필드가 사용됩니다.
- 사용자가 "보내기"버튼을 누른 경우 예외 (예 : 잘못된 사용자 이름/비밀번호)가 있으면 메시지 상자에 표시되고 loginstatus는 다시 로그 아웃으로 변경됩니다.
이것은 매우 잘못되었으므로 수정하고 싶습니다.
인증 정보가 정확한지 (테스트 이메일을 보내지 않고) '핑'만하면됩니다.
나는 이메일을 보내고있다 방법은 다음과 smtp.gmail.com 포트 587
편집 을 사용하고 있습니다.
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential(username, password),
EnableSsl = true
};
try
{
client.Send(fromEmail, toEmail, subject, body);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
어떻게 전자 메일을 보내시겠습니까? SMTP가있는 로그인은 다른 것보다 먼저 로그인해야하며 MAIL FROM 명령 이전에 유효하지 않은 자격 증명을 알리는 것으로 생각됩니다. – Thomas
@ John McClane : 안타깝게도 모든 논리는 System.Net.Mail 네임 스페이스의 내부 클래스에 있으므로 SmtpClient 클래스를 사용하여 로그온 부분을 처리 할 수는 없습니다. –