1. Ti manca il header Content-Transfer-Encoding
2. Il header From deve essere situato prima dei Content Type e Content-Transfer-Encoding (per l'ordine dei header, apri il sorgente di qualsiasi mail che ti e' arrivata da un client vero)
3. Su alcuni server *nix, il LF viene sostituito con CRLF automaticamente, quindi nel caso di CRLF, si raddoppia il CR. Se 1 e 2 non funzionano, prova a mettere solo il LF (con altre parole \n al posto di \r\n )