2011-01-06 2 views
0

Gmail의 이메일 계정을 사용하여 asp.net 웹 사이트에서 이메일을 보내고 있습니다. 그것은 호스팅 서버에서 잘 작동하지만 locotserver에서 이메일을 보내려고하면 donot이 작동합니다.로컬 컴퓨터에서 이메일을 보내지 않습니다.

localserver에서도 이메일을 보내려면 어떻게해야합니까? 로컬 컴퓨터에 SMTP 서버를 설치해야합니까? 내 컴퓨터에 smtp 서버를 설치하지 않았습니다. 어떻게 그리고 어디에서 smtp 서버를 얻을 수 있고 친절하게도 내가 어떻게 로컬 컴퓨터에서 사용하도록 설정을 할 수 있는지 안내합니다.

Thnaks

은 여기 내 코드 당신이 다이빙 Gmail로 중계하기 위해 자신의 SMTP 서버를 설정하기 전에 당신은 좀 더 연구를 수행 할 수 있습니다

public string SendEmail(Email email) 
    { 
     string errmsg = null; 

     if (dt != null) 
     { 
      try 
      { 
       dt = systemrep.GetSystemInfo(); 
       dr = dt.Rows[0]; 
       From = dr["nm_EmailFrom"].ToString(); 
       SMTP = dr["nm_SMTP"].ToString(); 
       Port = dr["amt_Port"].ToString(); 
       EmailId = dr["nm_emailUserId"].ToString(); 
       EmailPassword = dr["nm_emailPassword"].ToString(); 
       DefaultCredations = Convert.ToBoolean(dr["ind_Credentials"].ToString()); 
       MailMessage message = new MailMessage(); 
       SmtpClient smtp = new SmtpClient(); 
       NetworkCredential mailAuthentication = new NetworkCredential(EmailId, EmailPassword); 
       message.To.Add(new MailAddress(email.To)); 
       message.From = new MailAddress(From); 
       message.IsBodyHtml = true; 
       message.Subject = email.Subject; 
       message.Body = email.Message; 
       smtp.UseDefaultCredentials = DefaultCredations; 
       smtp.EnableSsl = true; 
       smtp.Port = 25; 
       smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
       smtp.Host = SMTP; 
       smtp.Credentials = new NetworkCredential(EmailId, EmailPassword); 


       smtp.Send(message); 
      } 
      catch (SmtpException smtpEx) 
      { 

       errmsg = string.Format("alert('There was a problem in sending the email: {0}');", smtpEx.Message.Replace("'", "\\'")); 
      } 
      catch (Exception generalEx) 
      { 
       errmsg = string.Format("alert('There was a general problem: {0}');", generalEx.Message.Replace("'", "\\'")); 
      } 
     } 
     else 
      errmsg = "An error accured whilte getting email settings from database, process couldn't be completed"; 

     return errmsg; 
    } 

} 
+0

SMTP의 값은 무엇입니까? –

+0

@Pauli 죄송합니다. smtp의 가치가 의미하는 바는 무엇입니까? – haansi

+0

당신은 실제로 귀하의 이메일을 통해 어떤 호스트를 알지 못합니까? smtp.Host에 할당 할 수있는 가변적 인 SMTP가 있습니다. 그 가치는 무엇입니까? –

답변

0

입니다.

'호스팅 서버'가 DOMAIN.COM에 있고 [email protected]에서 이메일 메시지를 보내거나 Gmail에서 "[email protected]"으로 인증하는 경우 몇 가지 어려움이있을 수 있습니다 코드에 버그가없고 SMTP 서버를 올바르게 설정 했더라도 localserver에서 보내는 메시지를 가져 오는 것. AFAIK, Gmail은 중계하지 않으며 인증에 매우 엄격합니다 (보안 인증 및 모든 것을 사용).

가능하면 오늘 잘 진행되고있는 호스팅 서버에서 메시지를 보내는 것이 좋습니다.

실제로 서버에서 실행중인 스크립트에서 쿼리 문자열 매개 변수를 보내고 스크립트가 송신을 수행하도록하거나 서버에 파일을 저장하고 프로그램을 선택하도록하는 약간 다른 전술을 고려할 수도 있습니다 최대 전송 ... 또는 서버로 데이터를 가져 오는 다른 방법을 사용하여 서버가 전송할 수 있도록합니다.

+0

내 자신의 smtp 서버를 설정하고 싶지 않아 로컬 컴퓨터에서 전자 메일을 보내기 전에 로컬 컴퓨터에서 smtp 서버를 설정해야하는지 묻습니다. 로컬 컴퓨터에서 Google 계정을 사용하고 싶습니다. – haansi

+0

그의 질문은 자신의 로컬 컴퓨터에서 GMAIL을 통해 이메일을 보내지 않는 것에 관한 것입니다. 방화벽 문제 일 수도 있습니다. – Shoban

+0

@Shoban 시스템에 방화벽이나 항 바이러스 시스템이 없습니다 – haansi