2016-11-13 6 views
0

私はasp.net mvc 5C#で働いていました。 webconfingからデータを取得せずにhangfireでメールを送信したいと思います。 WebConfigので 私はこのコードを持っている:私はWebConfigの中で使用する場合webconfigで<mailSettings>を使わずにhangfireでメールを送信

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

、すべてが正常に動作します。 しかし、私は電子メールとパスワードをデータベースに保存し、データベースから値を取得したいと思います。

これは.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

ありがとうございました。今それはとてもうまくいっています。 投票に十分な評判がないので、私はあなたの答えに投票できません:( –

関連する問題