2016-05-02 7 views
-1

Ich habe einen Code, der Mail über das Formular sendet. Dies ist meine Methode: n funktioniert nicht beim Senden von E-Mails

protected void SendMail() 
{ 

    string firstName = fName.Text.ToString(); 
    string lastName = lName.Text.ToString(); 
    string event = eventName.Text.ToString(); 
    string phoneNum = phone.Text.ToString(); 
    string pass1 = pass.Text.ToString(); 
    string address1=address.Text.ToString(); 
    string email = gmail.Text.ToString(); 
    string body = "From: " + firstName+" " +lastName+ "\n"; 
    string subject = "title " + event; 
    body += "Email: " + email + "\n"; 
    body += "Event: " + event + "\n"; 
    body += "Phone Number: " + phoneNum + "\n"; 
    body += "Password: " + pass1 + "\n"; 
    body += "Event address: " + address1 + "\n"; 
    // smtp settings 
    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); 
    mail.To.Add("[email protected]"); 
    mail.From = new MailAddress("[email protected]", "title", System.Text.Encoding.UTF8); 
    mail.Subject = "title"; 
    mail.SubjectEncoding = System.Text.Encoding.UTF8; 
    mail.Body = body; 
    mail.BodyEncoding = System.Text.Encoding.UTF8; 
    mail.IsBodyHtml = true; 
    mail.Priority = System.Net.Mail.MailPriority.High; 
    SmtpClient client = new SmtpClient(); 
    client.Credentials = new System.Net.NetworkCredential("[email protected]", "password"); 
    client.Port = 587; 
    client.Host = "smtp.gmail.com"; 
    client.EnableSsl = true; 
    try 
    { 
     client.Send(mail); 
     Response.Redirect("sadasd.aspx"); 
    } 
    catch (Exception ex) 
    { 

    } 
} 

Mein Problem ist, dass die E-Mail ein großes Durcheinander und die \n funktioniert nicht. Wie kann ich eine Linie nach unten bekommen? Warum funktioniert es nicht?

+2

Sie können 'Environmen.NewLine' statt' \ n '. da das neue Zeilenzeichen vom Betriebssystem abhängig ist. ' –

+1

Ersetzen Sie das '\ n' durch' + Environment.NewLine(); ' – MethodMan

+2

Der Text Ihrer Nachricht ist html. Versuchen Sie zu verwenden
Marusyk

Antwort

3

I dieses "\n" sollte durch "<br />" ersetzt werden. und Stringbuilder wird besser geeignet sein, um die Mailmessage zu bauen, wird der Code wie folgt aus:

StringBuilder mailBodyBuilder = new StringBuilder(); 
mailBodyBuilder.Append("From: " + firstName +" " + lastName + "<br />"); 
mailBodyBuilder.Append("Email: " + email + "<br />"); 
mailBodyBuilder.Append("Event: " + event + "<br />"); 
mailBodyBuilder.Append("Phone Number: " + phoneNum + "<br />"); 
mailBodyBuilder.Append("Password: " + pass1 + "<br />"); 
mailBodyBuilder.Append("Event address: " + address1 + "<br />"); 
// rest of contents here 
// send the mail 
Verwandte Themen