2016-08-18 1 views
1

Ich versuche, meinen E-Mail-Dienst über Network Solutions (NetSol) zu verwenden, so dass über die Anwendung gesendete E-Mails von unserem Domains Service @ ourdomain Adresse stammen.System.Net E-Mail-Einstellungen mit Hilfe von Network Solutions gehostete E-Mail

Ich kann nicht scheinen es funktioniert, und ich bin mir nicht sicher, es ist sogar machbar, da es ein Webmail-Dienst, den ich in einem Browser mit einer URL wie http://mail.ourdomain.com zugreifen kann.

Laut ihrer Website, können die SMTP-Einstellungen hier NetSol smtp

diese Informationen verwenden zu finden ich meine Mail-Einstellungen einrichten wie folgt

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

Ich weiß, dass das Passwort korrekt ist, wie ich bin in der Lage, mich in meine E-Mail im Webbrowser einzuloggen, so glaube ich nicht, dass es ein Anmeldeinformationen Fehler ist, obwohl der Fehler in der Methode Fehler auf dem Berechtigungsstück ist.

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); 
     } 
    } 

Ist jemand vertraut mit dem richtigen Setup für NetSol professionelle E-Mail?

UPDATE:

Aus irgendeinem Grund mein Code bearbeiten in der Antwort, die ich akzeptiert wurde nicht akzeptiert. Also hier ist der Code, in funktionierender Reihenfolge basierend auf den Kommentaren in der angenommenen Antwort.

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

Versuchen Sie, diese Zeile 'mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;' – MethodMan

+0

ich auch Code schlage vor, würde ohne die 'async und await' und in eine Konsolenanwendung setzen und sehen, ob der Code .. arbeitet und wickeln die' mailClient.SendMail (msg) 'um einen Versuch zu fangen .. nicht einmal sicher, warum Sie Mail Async .. senden müssen aber versuchen, es ohne Async zuerst zu arbeiten .. – MethodMan

+0

@MethodMan ... sollte nicht die Konfigurationsdatei, mit der Netzwerkeinstellung handle das. Was die Async anbelangt, habe ich nur mit dieser Methode herumgespielt, da ich weiß, dass es funktioniert und ich habe nur versucht zu testen, wie das funktioniert. – dinotom

Antwort

0

Ein einfaches Ausführungsbeispiel für

zu NetSol smtp Verbindungs ​​
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"); 

und die letzte Note, wie ich sehe, Sie haben ssl aktiviert; Hier ist es direkt von NetSol:

Hinweis - Stellen Sie sicher, dass Sie nicht wählen und SSL-Typ, diese Option sollte ausgeschaltet sein, oder "Keine" sollte ausgewählt werden.

+0

Ich habe deinen Code bearbeitet, was für mich funktionierte, da dein OP nicht funktionierte und ich die Antwort akzeptierte. Vielen Dank. – dinotom

Verwandte Themen