2013-10-09 2 views
2

MVCMailer를 사용하여 전자 메일에서 표시 이름을 변경하려고합니다. From : [email protected]을 보는 클라이언트 대신 "xyzCompany 고객 서비스"가 표시됩니다. 인터넷을 둘러 보았고 그 방법을 설명하는 문서를 찾을 수 없습니다.MVCMailer에서 전자 메일의 표시 이름을 올바르게 변경하는 방법

USERMAILER.CS

public virtual MvcMailMessage Welcome(string sentTo, string replyTo) 
     { 

      return Populate(x => 
      { 
       x.Subject = "Welcome"; 
       x.ViewName = "Welcome"; //View name of email going out. 
       x.ReplyToList.Clear(); 
       x.ReplyToList.Add(replyTo); 
       x.To.Add(sentTo); 
       x.From.DisplayName("xyz Company Customer Service"); 
       x.From = new MailAddress("[email protected]"); 
       x.ViewName = "WelcomeEmail"; //View name of email going out. 
      }); 
     } 

라인 'x.From.DisplayName ("XYZ 회사 고객 서비스")'나에게 오류를 제공합니다 system.net.mail.mailaddress.DisplayName는 다음과 같이 사용할 수 없습니다 방법.

아무도 표시 이름을 올바르게 변경하는 방법을 알려주시겠습니까?

답변

2

DisplayNameMailAddress 클래스의 속성입니다. 당신은 그것을 지정 생성자의 this overload를 사용할 수 있습니다

x.From = new MailAddress(address: "[email protected]", displayName: "xyz Company Customer Service"); 

업데이트 의견에 따라 :

DisplayName 속성 만 생성자를 통해 설정할 수 있습니다 의미없는 (또는 개인) 세터가 없습니다 MailAddress인데 속성 자체를 통하지는 않습니다.

+0

정말 고마워요. 그것은 효과가있다! 그러나 두 번째 옵션은 x.From.DisplayName = "xyz Company Customer Service"입니다. 나를 위해 작동하지 않습니다. 이제는 읽기 전용이라고 나에게 오류가 발생했습니다. – user2789697

+0

@ user2789697 여러분을 환영합니다. 이것은'DisplayName'이 읽기 전용임을 의미하며, 답을 업데이트했습니다. –

+0

@ user2789697 또한이 질문을 같은 질문에 대한 답변으로 표시하십시오. –