2014-07-11 2 views
-1

Visual Studio에서 웹 폼을 만들었습니다. 이 응용 프로그램에서 전자 메일을 보냅니다. 하지만 FROM 주소가 로그인 한 사용자의 이메일이되기를 원합니다. 예를 들어 John이 이메일과 비밀번호로 로그인하고 제출을 클릭하면 이메일은 사람 X에게 보내지 만 보낸 사람 주소는 John에서 온 것입니다. 나는 이것이 충분히 명확한 설명이되기를 바랍니다.로그인 한 사용자로부터 전자 메일 보내기 ASP.NET

내 보내는 메일 방법의 코드 스 니펫입니다.

 { 
     MailMessage message = new MailMessage(); 
     message.To.Add(nameddl.Text); 
     message.From = new MailAddress(""); 
     message.Subject = "Notification"; 
     message.Body = "An new entry has been made that requires your attention."; 
     message.IsBodyHtml = true; 
     SmtpClient smtp = new SmtpClient(); 
     } 

그래서이 줄 message.From = new MailAddress (User.LoggedIn); 이것이 내가 원하는거야. 그러나 어떻게 작동하도록 코드를 작성합니까? 가능하게 할 수 있습니까?

NB : 이것은 MVC 응용 프로그램이 아니며 일반적인 ASP.NET 웹 양식입니다.

** 편집 아직 누군가이 아이디어가 훌륭하다면이 문제로 어려움을 겪고 있습니까?

+0

가능한 복제본 [asp.net C#에서 전자 메일 보내기] (http://stackoverflow.com/questions/18326738/how-to-send-email-in-asp-net-c-sharp) – JimMSDN

+0

@ JimMSDN 아니, 그건 같지 않아. FROM 주소로 로그인 한 사용자의 이메일을 사용하려고합니다. – starcatcher

+0

아마도 'MailMessage'의 .From 속성을 새로운 'MailAddress'를 사용하여 로그인 한 사용자의 전자 메일 주소와 표시 이름으로 설정하는 것을 막을 수 있습니다. ? – JimMSDN

답변

0

세션에서 이메일을 저장하는 경우 바로 전달할 수 있습니다.

message.From = new MailAddress (Session [ "Email"]. Tostring);

이 경우 데이터베이스에 전자 메일을 저장하면 전자 메일 주소를 반환하는 하나의 메서드를 간단히 만들 수 있습니다. message.From = GetEmail();

+0

나는 두 가지 제안을 모두 사용했다. 결국 GetEmail() 메서드를 만들었지 만 message.From = GetEmail()으로 사용할 때 "암시 적으로 메서드 'void'를 System.Net.Mail.MailAddress로 변환 할 수 없다는 오류가 발생합니다." 어떤 아이디어? – starcatcher