2011-01-03 4 views
2

나는 한 가지 문제를 제외하고, 내 비밀 번호를 표시해야합니다, C#으로 이메일을 보낼 수있는 좋은 방법을 발견했다. 누군가 내 프로그램을 해체해야하거나, 내가 오픈 소스로 만들기로 결정했다면 (아마도 그렇게 할 것입니다) 내 Gmail 계정의 사용자 이름과 암호를 얻을 것입니다. 이 문제를 해결할 방법이 있습니까?암호를 공개하지 않고 C#에서 이메일을 보내려면 어떻게해야합니까?

MailMessage mail = new MailMessage(); 
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); 

mail.From = new MailAddress("[email protected]"); 
mail.To.Add("[email protected]"); 
mail.Subject = "Pandora Free-D Message"; 
mail.Body = "Name: " + C.NameBox.Text + "\n" + "Email: " + C.emailBox.Text + "\n" + C.Message.Text; 

SmtpServer.Port = 587; 
SmtpServer.Credentials = new System.Net.NetworkCredential("username", "password"); 
SmtpServer.EnableSsl = true; 

SmtpServer.Send(mail); 

+++++ 편집

는 흠 ... localhost를 작동합니다 +++++? 누구 알아?

+0

지금은 더미 자격 증명을 만들고이 더미 하나 개 자신의 도메인 ID 및 자격 증명을 대체하기 위해 오픈 소스 소프트웨어의 사용자를 부탁드립니다. –

답변

9

는 메일 서버에 인증이 필요하지 않은 경우. 프로그램이 메일을 보내려면 암호를 알아야하며,이 프로그램이 컴퓨터에서 작동하는 경우 신뢰하지 않으면 암호가 빨리 손상된다고 생각할 수 있습니다.

당신은 당신이 메시지를 확인하고 메일 서버로 보낼 수 있습니다 당신의 통제하에 서버에 웹 서비스 또는 HTTP 호출을 통해 메일을 제출처럼, 다른 방법을 고려해야합니다.

+0

+1, 신뢰할 수없는 컴퓨터에서 실행될 경우 암호가 빨리 손상됨을 명확히 나타냅니다. –

+0

정확히 내가 왜 묻고 있었는지. 나는 다른 어떤 방법이 있는지를 알고 싶었습니다. 이메일 서버가 없거나 웹 사이트가 아직 없기를 바랍니다. 미래에는 희망이 있습니다. 그러나 지금은 앞으로 나갈 것입니다. 기능이 사용 중지되었습니다. – Sean

1

당신은 메일 서버를 위해 전자 메일을 보낼 것이다, 웹 서비스를 만들 수 있습니다.

1

왜 당신은 전자 메일을 보낼 계정을 사용하여 다른 것? 사용자가 자신의 메일 서버 및 인증을 사용하도록하십시오. 사용자가 프로그램을 설치할 때 해당 값을 입력하고 구성 파일에 저장하십시오.

관련 문제