2016-08-18 6 views
1

Я пытаюсь использовать свою службу электронной почты через Network Solutions (NetSol), чтобы электронные письма, отправленные с помощью приложения, поступали из нашего домена службы @ нашего домена.Настройки системы System.Net с использованием разрешенных сетевых решений

Я не могу заставить его работать, и я не уверен, что это даже выполнимо с момента его службы веб-почты, доступ к которой я могу получить в браузере, используя URL-адрес, например, http://mail.ourdomain.com.

По их сайта, настройки 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 и ждать 'и поместить в консольное приложение и посмотреть, работает ли код .. и обернуть' mailClient.SendMail (msg) 'вокруг try catch .. даже не уверен, зачем вам отправлять почту Async .. но попробуйте заставить ее работать без Async first .. – MethodMan

+0

@MethodMan ... не должен содержать файл конфигурации, с настройкой «Настройка сети». Что касается async, я просто возился с этим методом, поскольку я знаю, что он работает, и я просто пытался проверить, как это работает. – dinotom

ответ

0

Простой рабочий пример подключения к SMTP NetSol в

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