2016-04-06 12 views
-1

Ich verwende einen String-Generator, um eine Nachricht zu erstellen, während ich versuche, etwas zu tun. das Problem es Ich bekomme den Wert vom String Builder und dieser ist formatiert. Beispiel aus meinen String-Builder:.Net.Mail body message verliert das Format, während gesendet wird C# .net

Following files were attached by email: 
1. C:\SALASFRI2_20150824094158_ScrubLog.txt - Record Count: 8 
2. C:\SALASFRI2_20150824102328_ScrubLog.txt - Record Count: 8 
3. C:\SALASFRI2_20150824102516_ScrubLog.txt - Record Count: 8 
4. C:\SALASFRI2_20160121125353_ScrubLog.txt - Record Count: 8 
5. C:\SALASFRI2_20160121125659_ScrubLog.txt - Record Count: 8 

=================================================== 

Total Files: 5 

Please contact your system administrator for any further assitance. 

das genau ist, wie der String aussieht, aber wenn die E-Mail angekommen, es ihr Format wie folgt verlieren:

enter image description here

wissen Sie, wenn es eine ist Eigenschaft, um das Format nicht zu verlieren, wenn es an meine E-Mail ankommt?

Dies ist mein Code:

  if (Notification.IncludeFileName || Notification.IncludeRecordCount) 
      { 
       BodyMessage.Append("Following files were attached by email: \n"); 

       for (int index = 0; index < NumberOfFiles; index++) 
       { 
        if (Notification.IncludeFileName && Notification.IncludeRecordCount) 
         BodyMessage.Append((index + 1) + ". " + LocalFiles[index] + " - Record Count: " + File.ReadLines(LocalFiles[index]).Count() + "\n");       
        else      
         BodyMessage.Append((index + 1) + ". " + LocalFiles[index] + File.ReadLines(LocalFiles[index]).Count() + "\n"); 
       } 
      }    

      if (Notification.IncludeNumberOfFiles) 
      { 
       BodyMessage.Append("\n===================================================\n\n"); 
       BodyMessage.Append("Total Files: " + NumberOfFiles + "\n"); 
      } 

      BodyMessage.Append("\nPlease contact your system administrator for any further assitance.");     
      ////////////////////END OF SUBJECT AND BODY MAIL MESSAGE VALIDATION 

      ////////............SEND THE ATTACHMENTS THROUGH EMAIL................/////////// 
      try 
      { 
       MailMessage Email = new MailMessage(); 
       SmtpClient smtp = new SmtpClient(AppConfiguration.SMTPServer); 

       Email.From = new MailAddress(AppConfiguration.EmailAddress); 
       Email.To.Add(protocol.SMTPEmailList); 
       Email.Subject = EmailSubject;        
       Email.Body = BodyMessage.ToString();      

       if (directories.Zip) 
        Email.Attachments.Add(new Attachment(ZipName)); 
       else 
        foreach (var attachment in LocalFiles) 
        { 
         Email.Attachments.Add(new Attachment(attachment)); 
        } 

       smtp.Port = AppConfiguration.SmtpPort; 
       smtp.UseDefaultCredentials = true; 
       smtp.Send(Email); 
       Email.Dispose(); 
+0

Wo ist Ihr Code? – Eser

+0

Sorry @Eser Ich habe nicht hinzugefügt, sorry –

Antwort

0

Sie wahrscheinlich verwenden müssen "\ r \ n" als Neuzeilensequenz statt nur "\ n".

+0

versuchte diese Lösung, ich habe das gleiche Problem. –

+0

Dann ist das Problem, dass der empfangende Client es falsch rendert. – jstedfast

+0

Ich habe festgestellt, dass das Problem nur mit dieser Zeile auftritt: BodyMessage.Append ((Index + 1) + "." + LocalFiles [Index] + "- Datensatzanzahl:" + File.ReadLines (LocalFiles [Index]). Count() + "\ n"); Mit der Else-Zeile, die nicht geschieht und Formatierung gut –