I encountered a problem using SquirrelMail which I wasn't able to solve using regular means or find in the mailing lists so far. The problem goes like this - some HTML e-mails are missing contents with the relevant parts appearing as ATT-n.dat attachments.
I was able to track the problem to the MIME header of the e-mail, namely to there being a new line character after Content-Type for multipart/alternative. For example, this e-mail header (I removed the domain info):
Received: from <IP part>
User-Agent: SquirrelMail/1.4.23 [SVN]
X-Priority: 3 (Normal)
I was able to track this issue to the foldline function in the deliver class - namely, the long Content-type line causes foldline to do a fold before the soft limit and sends the rest of the line to the new one. From there on, I guess the boundary is not correctly interpreted. As a workaround, I added a preg_match test so that foldLine is not called for Content-Type lines.
My knowledge of MIME is limited so I can't figure out if the problem is in the message creation (the newline shouldn't be there) or reception (newline should be ignored) and I'd prefer to rely on something better than my quick-fix skills to solve the issue.
- SquirrelMail version - 1.4.23 [SVN] (config file is 1.4.20)
- PHP version 5.3.18
- Web server IIS 6.0
- HMail Server 5.3.3
- Windows 2003
- Installed Manually
- Browsers - tried multiple
Thanks for your help.