我想通过网络解决方案(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);
}
尝试添加此行 'mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;' – MethodMan
我还建议不用'async和await'运行代码,并将其放入控制台应用程序中,并查看代码是否正常工作。 mailClient.SendMail(msg)'围绕一个try catch ..甚至不知道为什么你需要发送邮件异步..但尝试让它没有异步第一工作.. – MethodMan
@MethodMan ...不应该配置文件,与网络设置句柄。至于异步,我只是乱搞这个方法,因为我知道它的工作原理,我只是试图如何让这个工作。 – dinotom