System.Net 使用 Network Solutions 托管电子邮件的邮件设置
System.Net mail settings using Network Solutions hosted email
我正在尝试通过 Network Solutions (NetSol) 使用我的电子邮件服务,以便通过该应用程序发送的电子邮件来自我们的域 service@ourdomain 地址。
我似乎无法让它工作,而且我不确定它是否可行,因为它是一个网络邮件服务,我可以使用 url 之类的 http://mail.ourdomain.com 在浏览器中访问它。
根据他们的网站,可以在此处找到 smtp 设置
NetSol smtp
使用这些信息我设置了我的邮件设置如下
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.ourdomain.com" port="587" userName="service@ourdomain.com" 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 专业电子邮件的正确设置吗?
更新:
由于某种原因,我在接受的答案中编辑的代码未被接受。所以这是代码,根据接受的答案中的评论按工作顺序排列。
public void SendNetSolEmail()
{
var sender = "whatever@yourdomain.com";
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);
}
连接到 NetSol 的 smtp 的简单工作示例
System.Net.Mail.SmtpClient mailMsg = new System.Net.Mail.SmtpClient("mail.domain.com", 587);
mailMsg.Credentials = new System.Net.NetworkCredential("username@domain.com", "password");
mailMsg.SendMailAsync("username@domain.com", "someone.somewhere@somedomain.com", "Hi Someone", "Body of the email");
我看到您启用了 ssl,这是最后一个注意事项;这里直接来自 NetSol:
注意 - 确保您没有选择 SSL 类型,应关闭此选项,或者应选择 "None"。
我正在尝试通过 Network Solutions (NetSol) 使用我的电子邮件服务,以便通过该应用程序发送的电子邮件来自我们的域 service@ourdomain 地址。
我似乎无法让它工作,而且我不确定它是否可行,因为它是一个网络邮件服务,我可以使用 url 之类的 http://mail.ourdomain.com 在浏览器中访问它。
根据他们的网站,可以在此处找到 smtp 设置 NetSol smtp
使用这些信息我设置了我的邮件设置如下
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.ourdomain.com" port="587" userName="service@ourdomain.com" 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 专业电子邮件的正确设置吗?
更新:
由于某种原因,我在接受的答案中编辑的代码未被接受。所以这是代码,根据接受的答案中的评论按工作顺序排列。
public void SendNetSolEmail()
{
var sender = "whatever@yourdomain.com";
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);
}
连接到 NetSol 的 smtp 的简单工作示例
System.Net.Mail.SmtpClient mailMsg = new System.Net.Mail.SmtpClient("mail.domain.com", 587);
mailMsg.Credentials = new System.Net.NetworkCredential("username@domain.com", "password");
mailMsg.SendMailAsync("username@domain.com", "someone.somewhere@somedomain.com", "Hi Someone", "Body of the email");
我看到您启用了 ssl,这是最后一个注意事项;这里直接来自 NetSol:
注意 - 确保您没有选择 SSL 类型,应关闭此选项,或者应选择 "None"。