2016-08-18 122 views
1

我想通过网络解决方案(NetSol)使用我的电子邮件服务,以便通过应用程序发送的电子邮件来自我们的域名service @ ourdomain地址。使用网络解决方案托管电子邮件的System.Net邮件设置

我似乎无法使它工作,我不确定它甚至可以做到,因为它是一个webmail服务,我可以在浏览器中使用像http://mail.ourdomain.com这样的URL访问它。

根据他们的网站,SMTP设置都可以在这里 NetSol smtp

发现使用该信息设置我的邮件设置如下

<mailSettings> 
    <smtp deliveryMethod="Network"> 
    <network host="smtp.ourdomain.com" port="587" userName="[email protected]" password="xxxxxxxx" enableSsl="true" /> 
    </smtp> 
</mailSettings> 

我知道密码是正确的,因为我能够在网页浏览器中登录我的邮件,所以我不相信它的凭证错误,尽管方法中的错误在凭证上发生了错误。

private async Task SendMailMessageAsync(MailMessage msg) 
    { 
     var acct = Username; 
     var pwd = Password; 
     msg.IsBodyHtml = true; 

     using (var mailClient = new SmtpClient()) 
     { 
      if (acct != string.Empty && pwd != string.Empty) 
      { 
       var credentials = new NetworkCredential(acct, pwd); 
       mailClient.Credentials = credentials; //ERRING HERE 
      } 
      await mailClient.SendMailAsync(msg); 
     } 
    } 

是否有人熟悉NetSol专业电子邮件的正确设置?

UPDATE:

出于某种原因,在我接受了答案我的代码编辑不被接受。所以这里是代码,按照接受的答案中的评论的工作顺序。

public void SendNetSolEmail() 
    { 
     var sender = "[email protected]"; 
     var pass = "yourpassword"; 
     var mailMessage = new MailMessage(sender, "sendto_emailaddress", "Hi there", "This method works fine!"); 
     var mailClient = new SmtpClient("mail.yourdomain.com", 587) 
     { 
      Credentials = new NetworkCredential(sender,pass), 
      EnableSsl = false, //important for Network Solutions mail 
      DeliveryMethod = SmtpDeliveryMethod.Network 
     }; 
     mailClient.Send(mailMessage); 
    } 
+0

尝试添加此行 'mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;' – MethodMan

+0

我还建议不用'async和await'运行代码,并将其放入控制台应用程序中,并查看代码是否正常工作。 mailClient.SendMail(msg)'围绕一个try catch ..甚至不知道为什么你需要发送邮件异步..但尝试让它没有异步第一工作.. – MethodMan

+0

@MethodMan ...不应该配置文件,与网络设置句柄。至于异步,我只是乱搞这个方法,因为我知道它的工作原理,我只是试图如何让这个工作。 – dinotom

回答

0

连接到NetSol的SMTP

System.Net.Mail.SmtpClient mailMsg = new System.Net.Mail.SmtpClient("mail.domain.com", 587); 
mailMsg.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 
mailMsg.SendMailAsync("[email protected]", "[email protected]", "Hi Someone", "Body of the email"); 

和最后一个音符,因为我看到你一个简单的工作示例启用SSL;这里是直接从NetSol:

注意 - 请确保您没有选择和SSL类型,应关闭此选项,或选择“无”。

+0

我使用相同的代码编辑了你的代码,这对我来说很有用,因为你的OP没有工作,我接受了答案。谢谢。 – dinotom