Did you already find the solution? I figured out this:
This might have something to to how a email-client (splunk, sendemail.py) is calling a mail server.
Sometimes it make sense to encode attachements in base64 like recommended here:
http://stackoverflow.com/questions/10401863/how-to-send-a-csv-attachment-with-lines-longer-than-990-characters
I found the place where splunk is encoding the attachment when it is sent by email:
$SPLUNK_HOME/etc/apps/search/bin/sendemail.py
if not len(results) == 0 and len(''.join(results[0].keys())) > EMAIL_CSV_HEADER_CHAR_LIMIT:
Encoders.encode_base64(csvAttachment)
It seems that splunk is just encoding in base64 when the csv header is greater that 900 chars (see condition len(''.join(results[0].keys())) > EMAIL_CSV_HEADER_CHAR_LIMIT) .
When I modify the script like that (see condition below), the csv file attached to an email is not containing carriage returns after 990 chars:
if not len(results) == 0:
Encoders.encode_base64(csvAttachment)
... View more