If I recall correctly there were some issues regarding line endings in headers, etc. a while ago. After that a new option was added:
// this string is used as a delimiter for message headers when sending $rcmail_config['mail_header_delimiter'] = "\r\n";
I just stumbled over an explanation why there is a need for different line endings (not sure if that was clarified yet).
The problem is that the behavior of mail() is different on Windows and Unix systems. On Windows mail() connects to an SMTP server to send, while on Unix it usually uses a local command which then forwards the mail to the MTA of the system.
The result is that on Windows you need to use the line endings defined in the mail specification for headers and body: "\r\n"
Some MTAs will get a little confused when you use only "\n" on a Windows system. Especially good old friend qmail is very picky and will simply refuse mails without the needed \r.
On Unix the MTA usually uses a "sendmail interface" which assumes that it receives Unix line endings (\n) and will change them to "\r\n". So using a "\r\n" in this case will result in "\r\r\n" which of course is wrong. Instead we only need to use "\n" in mail().
Does anyone know how Macs send mail() (afaik they only use \r as line endings)?
Perhaps we can add some kind of autodetection with this info (but let the user override it if he has a special setup)?
Balu