Frage

Die folgende Funktion funktioniert perfekt:

    protected void SendWebMailMessage(string DisplayName, string From, string ReplyTo,
        string To, string Subject, string Body, string Attachments)
    {
        System.Web.Mail.MailMessage msg = new System.Web.Mail.MailMessage();
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver",
             "smtpout.secureserver.net");
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25);
        msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 
             2);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/sendusername", From);
        msg.Fields.Add(
             "http://schemas.microsoft.com/cdo/configuration/sendpassword",
             mailpassword);
        msg.To = To;
        msg.From = DisplayName + "<" + From + ">";
        msg.BodyFormat = MailFormat.Html;
        msg.Subject = Subject;
        msg.Body = Body;
        msg.Headers.Add("Reply-To", ReplyTo);
        SmtpMail.SmtpServer = "smtpout.secureserver.net";
        SmtpMail.Send(msg);
    }

Allerdings erhalte ich eine Build-Warnung sagt mir, dass System.Web.Mail veraltet ist, und daß ich mit System.Net.Mail sein. So habe ich System.Net.Mail, und ich kam mit die folgende Funktion zu ersetzen, mein alter:

    protected void SendNetMailMessage(string DisplayName, string From, string ReplyTo, 
        string To, string Subject, string Body, string Attachments)
    {
        MailAddress addrfrom = new MailAddress(From, DisplayName);
        MailAddress addrto = new MailAddress(To);
        MailAddress replytoaddr = new MailAddress(ReplyTo);
        System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
        msg.From = addrfrom;
        msg.To.Add(addrto);
        msg.ReplyTo = replytoaddr;
        msg.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient("smtpout.secureserver.net");
        smtp.Credentials = new NetworkCredential(From, mailpassword);
        smtp.Send(msg);
    }

Ich erhalte keine Ausnahmen oder Fehler, aber meine Botschaft geht nie durch. Kann jemand sagen Sie mir, was ich tun könnte falsch sein? Vielen Dank im Voraus.

War es hilfreich?

Lösung

Wenn ich mich nicht falsch ... Sie das Goddady Hosting verwenden. Ich verwende es auch ... und ich habe als SMTP-Server **relay-hosting.secureserver.net**. Ich weiß nicht ... kann so etwas sein kann ... oder Sie haben nicht die Relais in der Konsole festgelegt.

Andere Tipps

I getestet, Code über ein es funktioniert gut. Ich hatte die Körper und Subjekt Eigenschaften hinzufügen, aber auch ohne sie erhielt ich noch eine leere E-Mail. Ich habe auch versucht, mit und ohne Zugangsdaten einzugeben, beide arbeiteten.

Am Anfang hatte ich nicht Host-Zeichenfolge geändert und hat eine Ausnahme mit der Meldung „Fehler beim Senden von E-Mail.“

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top