views:

65

answers:

4

I have a list (errors) that I both print to the screen and send in the body of an email. But first I separate the elements of the list with a newline character:

"\n".join(errors)

I then print it to the console and send it as an email. On the console it appears delimited by newlines:

Error generating report
Another error

In the email, however, they fail to show...

Error generating report Another error

What's going on?

Edit:

To further complicate things, I just noticed that 2 emails are sent, one of which displays the newline and one of which doesn't!

sendEmail(SUPPORT_EMAIL_ADDRESS, "application terminated unexpectedly.", \
                   "The script will exit.\n\nError Message:\n%s" % \
                   "\n".join(errors))
sendEmail(USERS_EMAIL_ADDRESS, "report is delayed.", 
                   "\n".join(errors), 
                   "html", [], [], SUPPORT_EMAIL_ADDRESS)

The first does have them while the second doesn't. Is this because of the html formatting in the second...?

+6  A: 

Two things I would try:

  • try with CRLF ("\r\n") instead of just LF

  • make sure your email is not being sent in HTML mode, or, if yes, try replacing the "\n" with "<br>"

houbysoft
Thanks for your help! It was in HTML mode and the line break tags did the trick
froadie
+6  A: 

If your email is HTML formatted then that would affect presentation of newlines.

Eric Snow
+1  A: 

Are you reading the e-mail in Outlook? Outlook will strip "extra line breaks" (that is, those line breaks it deems unnecessary by some arcane rule) from plain text mail. To get around this, I convert mail such as logs to HTML before sending it. This is very simple; just wrap it in <PRE>... </PRE> tags (with appropriate HTML headers of course).

kindall
Outlook will also usually tell the user that it stripped extra line breaks in the notification area at the top of the message, and if you click it there should be an option to restore it. I think there is also an option burried deep in the Arcane Mystic Super-Advanced email options that lets you toggle this feature.
FrustratedWithFormsDesigner
A: 

For this type of problem, I find that looking at the native code in the eMail helps greatly. I use Eudora for this since it stores all of the eMail in native text format. I'm able to look at the formatting without having it browsed by the eMail client by opening the email mailbox in Notepad or some other text editor. If you're in a UNIX environment, it might be better to look at it in vi or another basic text editor.
All eMail is pure text and it is converted to what you see by the eMail client.

Dave