2016-11-13 1 views
0

asp.net mvc 5C#으로 일했습니다. webconfing에서 데이터를받지 않고 hangfire로 이메일을 보내고 싶습니다. 내가 Webconfig에서 사용할 때webconfig에서 <mailSettings>를 사용하지 않고 hangfire로 이메일 보내기

<mailSettings> 
    <smtp from="[email protected]"> 
    <network host="host" port="25" userName="[email protected]" password="*****" enableSsl="false" defaultCredentials="false" /> 
    </smtp> 
</mailSettings> 

는, 모든 것이 제대로 작동합니다 webconfig에서 나는이 코드를 가지고있다. 하지만 이제 데이터베이스에 이메일과 비밀번호를 저장하고 데이터베이스에서 값을 가져 오려고합니다.

이 .cs 코드 나 데이터베이스에서 메일 설정을 얻을 수를 변경할 수있는 방법

[AutomaticRetry(Attempts = 20)] 
     public static void SendEmailToMember(Member obj,string Subject, string Details){   
     var viewsPath = Path.GetFullPath(HostingEnvironment.MapPath(@"~/Views/Emails")); 
       var engines = new ViewEngineCollection(); 
       engines.Add(new FileSystemRazorViewEngine(viewsPath)); 

       var emailService = new Postal.EmailService(engines); 

       var ee = new SendEmailToMember 
       { 
        To = obj.Email, 
        FullName = obj.FullName, 
        Subject=Subject, 
        Details = Details, 
        ViewName = "SendEmailToMember" 
       }; 

       emailService.Send(ee); 

} 

은?

답변

1

당신은 SmtClient를 사용하는 새로운 Postal.EmailService, 가져 오기 System.Net.Mail 네임 스페이스를 만들 내가 우편으로 hangfire을 사용하여 이메일을 보내려면이 코드

 MailMessage mail = new MailMessage(); 

     SmtpClient smtpServer = new SmtpClient("smtp.gmail.com"); //gmail smtp server 
     smtpServer.Credentials = new System.Net.NetworkCredential("loginFromDB", "passwordFromDB"); 
     smtpServer.DeliveryMethod = SmtpDeliveryMethod.Network; 
     smtpServer..EnableSsl = false; 
     smtpServer.Port = 587; // gmail works on this port 

     mail.From = new MailAddress("[email protected]"); 
     mail.To.Add("[email protected]"); 
     mail.Subject = "Hello from the other side"; 
     mail.Body = "your body"; 

     Postal.EmailService emailService = new Postal.EmailService(new ViewEngineCollection(),() => smtpServer); 

     emailService.Send(email); 
+0

를 사용할 수 있습니다. –

+0

@MarwaAlmahmoud 자신의 설정으로 SmtpClient를 만들고, 다음으로 생성자를 사용하여 우편 이메일 서비스의 새로운 인스턴스를 만듭니다. 샘플이지만 매우 잘 작동합니다. –

+0

도움 주셔서 대단히 감사합니다. 이제는 아주 잘 작동하고 있습니다. 투표 할만한 평판이 충분하지 않아 답변을 투표 할 수 없습니다. ( –

관련 문제