c# - Error while sending email from Console application -


i trying send mail console application it's throwing error:

failure sending mail

i can not understand what's causing error. tried same code on machine , it's working fine. here stacktrace:

system.net.mail.smtpexception: failure sending mail. ---> system.net.webexceptio n: unable connect remote server ---> system.net.sockets.socketexceptio n: requested address not valid in context 66.96.147.108:25    @ system.net.sockets.socket.doconnect(endpoint endpointsnapshot, socketaddre ss socketaddress)    @ system.net.servicepoint.connectsocketinternal(boolean connectfailure, sock et s4, socket s6, socket& socket, ipaddress& address, connectsocketstate state, iasyncresult asyncresult, int32 timeout, exception& exception)    --- end of inner exception stack trace ---    @ system.net.servicepoint.getconnection(pooledstream pooledstream, object ow ner, boolean async, ipaddress& address, socket& abortsocket, socket& abortsocket 6, int32 timeout)    @ system.net.pooledstream.activate(object owningobject, boolean async, int32  timeout, generalasyncdelegate asynccallback)    @ system.net.pooledstream.activate(object owningobject, generalasyncdelegate  asynccallback)    @ system.net.connectionpool.getconnection(object owningobject, generalasyncd elegate asynccallback, int32 creationtimeout)    @ system.net.mail.smtpconnection.getconnection(servicepoint servicepoint)    @ system.net.mail.smtptransport.getconnection(servicepoint servicepoint)    @ system.net.mail.smtpclient.getconnection()    @ system.net.mail.smtpclient.send(mailmessage message)    --- end of inner exception stack trace ---    @ system.net.mail.smtpclient.send(mailmessage message)    @ paymentreminder.program.sendmail(list`1 sourcelist) in c:\documents , se ttings\amols\my documents\visual studio 2010\projects\paymentreminder\paymentrem inder\program.cs:line 110 innerexception is: system.net.webexception: unable connect remote serv er ---> system.net.sockets.socketexception: requested address not valid n context 66.96.147.108:25    @ system.net.sockets.socket.doconnect(endpoint endpointsnapshot, socketaddre ss socketaddress)    @ system.net.servicepoint.connectsocketinternal(boolean connectfailure, sock et s4, socket s6, socket& socket, ipaddress& address, connectsocketstate state, iasyncresult asyncresult, int32 timeout, exception& exception)    --- end of inner exception stack trace ---    @ system.net.servicepoint.getconnection(pooledstream pooledstream, object ow ner, boolean async, ipaddress& address, socket& abortsocket, socket& abortsocket 6, int32 timeout)    @ system.net.pooledstream.activate(object owningobject, boolean async, int32  timeout, generalasyncdelegate asynccallback)    @ system.net.pooledstream.activate(object owningobject, generalasyncdelegate  asynccallback)    @ system.net.connectionpool.getconnection(object owningobject, generalasyncd elegate asynccallback, int32 creationtimeout)    @ system.net.mail.smtpconnection.getconnection(servicepoint servicepoint)    @ system.net.mail.smtptransport.getconnection(servicepoint servicepoint)    @ system.net.mail.smtpclient.getconnection()    @ system.net.mail.smtpclient.send(mailmessage message) 

here code:

list<paymentreminderlist> prlist = sourcelist;             mailaddress frommail = new mailaddress(configurationmanager.appsettings.get("fromemail")); string networkuser = configurationmanager.appsettings.get("network_username"); string password = configurationmanager.appsettings.get("password"); string host = configurationmanager.appsettings.get("host"); int port = int.parse(configurationmanager.appsettings.get("port")); string frommail = configurationmanager.appsettings.get("fromemail"); string tomail = configurationmanager.appsettings.get("tomail"); string mailbody = "respected xxx, <br>this test mail.<br> [[list]]  <br><br> sincerely, <br> abc<br>";  string mailcontent = "";  foreach (var item in prlist) {     mailcontent += "" + item.abc + " | " + item.pqr + " | " + item.xyz+"<br>"; }  mailbody.replace("[[list]]", mailcontent);  //console.writeline("mail to"); mailaddress = new mailaddress(tomail);  //console.writeline("mail from"); mailaddress = new mailaddress(frommail);  mailmessage mail = new mailmessage(from, to);  console.writeline("subject"); mail.subject = "this reminder mail";  console.writeline("your message"); //mail.body = console.readline(); mail.body = mailbody;  mail.from = from; mail.to.add(to);  mail.isbodyhtml = true; mail.priority = mailpriority.high;  system.net.networkcredential networkcred = new system.net.networkcredential(); networkcred.username = networkuser; networkcred.password = password;  smtpclient smtp = new smtpclient(host, port); smtp.credentials = networkcred;  console.writeline("sending email...");  try {     smtp.send(mail); } catch (exception ex) {     console.writeline(ex);   //should print stacktrace + details of inner exception      if (ex.innerexception != null)         console.writeline("innerexception is: {0}", ex.innerexception); } 

does remote machine implement secure smtp? if so, you'll need set port property 465.

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.port.aspx


Comments

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -