c# - Send Email by hangfire without using <mailSettings> in webconfig -
i worked asp.net mvc 5
c#
. want send email hangfire without data webconfing
. in webconfig have code:
<mailsettings> <smtp from="email@site.com"> <network host="host" port="25" username="email@site.com" password="*****" enablessl="false" defaultcredentials="false" /> </smtp> </mailsettings>
when use in webconfig ,everything works correctly. want store email , password in database , value database.
this .cs code
[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 { = obj.email, fullname = obj.fullname, subject=subject, details = details, viewname = "sendemailtomember" }; emailservice.send(ee); }
how can change mail settings database?
you can use smtclient
create new postal.emailservice
, import system.net.mail
namespace , use code
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 port mail.from = new mailaddress("yourmail@gmail.com"); mail.to.add("recepient@gmail.com"); mail.subject = "hello other side"; mail.body = "your body"; postal.emailservice emailservice = new postal.emailservice(new viewenginecollection(), () => smtpserver); emailservice.send(email);
Comments
Post a Comment