2014-04-06 4 views
2

사용자에게 NewsLetter 전자 메일을 보내려고합니다.MVCMailer를 사용할 때 메일 서버가 로컬이 아닌 전자 메일 주소로 보낼 때 인증이 필요합니다.

public ActionResult SendNewsLetter() 
     { 
      _userMailer.NewsLetter().Send(); 
      return View(); 
     } 

및 userMailer 클래스 :

가 나는 같은 짓을

public virtual MvcMailMessage NewsLetter(string userEmail) 
     { 
      //ViewBag.Data = someObject; 
      return Populate(x => 
      { 
       x.Subject = "NewsLetter"; 
       x.ViewName = "NewsLetter"; 
       x.To.Add("[email protected]"); 
       x.Bcc.Add(userEmail); 
      }); 
     } 

나는 숨은 참조로 뉴스 레터 이메일을 제출 한 추가 할 수 있습니다. 명령의

나쁜 순서 : 나는 그것을 보낼 때

는하지만이 문제가 발생합니다. 서버 응답 :이 메일 서버 은 로컬이 아닌 전자 메일 주소로 보낼 때 인증이 필요합니다. 메일 클라이언트 설정을 확인하거나 관리자에게 문의하여이 서버에 도메인 또는 주소가 정의되어 있는지 확인하십시오.

bbc 제거 web.config의 [email protected]에 대한 인증을 제공했기 때문에 정상적으로 전자 메일을 보낼 수 있습니다.

<system.net> 
<mailSettings> 
    <!-- Method#1: Configure smtp server credentials --><smtp deliveryMethod="Network" from="[email protected]"> 
    <network host="mydomain.com" port="25" userName="[email protected]" password="123456" enableSsl="false" /> 
    </smtp> 
</mailSettings> 

하지만 임 놀라는 이유는 다른 이메일에 이메일을 보낼 수없는 이유는 무엇입니까?

누군가 어떤 아이디어가 있습니까?

답변

1

발생하는 오류 메시지는 MVCMailer와 전혀 관련이 없습니다. 사용하려는 SMTP 서버의 시스템 관리자에게 문의하여값으로 이메일을 보내도록 인증하는 사용자 [email protected]을 사용할 수 있는지 확인하십시오. 웹 서버에서 사용하는 많은 SMTP 서버에는 스팸을 방지하기 위해 전자 메일에 제한이나 제한이있을 수 있습니다.