Ich würde jetzt adhoc auch erstmal empfehlen per SMTP zu versenden. mail() macht das in der Standardkonfiguration nämlich nicht. Und per SMTP dürfte das dann auch klappen.
Mal ne Frage dazu... mail() übergibt doch in der Standardkonfiguration einfach die E-Mail per sendmail-Command an den lokalen MTA, richtig? Bei einem Managed Server würde ich erwarten, dass dieser a) installiert und b) vernünftig für den ausgehenden Mailverkehr konfiguriert ist. Also eigentlich würde ich dann erwarten, dass das ohne Probleme funktioniert.
Oder weiter überlegt: Wenn ich an den lokalen MTA Mails gebe, dürfte doch zwischen SMTP und sendmail-Command kein Unterschied liegen, oder? (Ja, man kann ein andres Handling dafür konfigurieren, aber das würde m. E. eher unter Spezialkonfiguration und nicht Standardkonfiguration laufen.) Einen richtigen Unterschied macht das doch erst, wenn man nen externen SMTP-Server angibt (Gmail, web.de, und wie sie alle heißen mögen...). Nur dann macht der gemietete Server nicht viel Sinn.
Kurz: Ich würde erwarten, dass mail() auf nem Managed Server auf Anhieb funktioniert - es sei dann natürlich, man übergibt dem Funktion Datenschrott. Vielleicht ist ja irgendwas bei den übergebenen Daten nicht ganz in Ordung und das Webhosting ist dabei etwas toleranter als der Managed Server.