Hallo,
aus der Fehlermeldung schließe ich mal, das deine Homepage von der du versuchst die Mail abzuschicken bei dir daheim läuft und du keine feste-ip adresse bei deinem provider gekauft hast. Dh du hast eine dynamische IP wodurch sich einige Dinge für den mailversand ergeben die du beachten musst.
1. Ein direktes verschicken von einem mailserver bei dir zuhause ist nicht empfehlenswert da ziemlich sicher mindesten 90% deiner e-mails an grosse anbieter wie t-online oder web.de oder gmx als spam geblockt werden.
2. wenn du das verhindern willst musst du also wie du offensichtlich bereits erkannt hast über einen "offiziellen" mail server gehen.
3. Dieser Mailserver will natürlich auch nicht für jeden als relay-station dienen, also stellt er seine Dienste nur seinen Bekannten usern zur verfügung um weiterhin als glaubwürdiger Spam-sicherer Server zu gelten. dazu musst du dich wenn er dich nicht anhand einer fester IP authentifizieren kann mit einem nutzernamen und passwort dies tun.
Und genau an dieser stelle wird es kniffelig, weil die php-mail-funktion keine solche authentifizierung vorsieht sondern für eine sogenannte vertrauensnetzwerkumgebung gebaut ist, sprich mit einem lokalen Server oder eben einem mailserver der den eigenen server anhand anderer kriterien z.b. ip erkennt. Dadurch hast du zwei möglichkeiten.
Möglichkeit 1 (Verwende ich normal auf linux-systemen): Du richtest einen lokalen Mailserver ein und schickst deine mails von php an diesen lokalen server und der übernimmt dann das weiterschicken über einen relay-server.
Möglichkeit 2 (hab ich bisher einmal für nen kunden gemacht): Du schreibst dir ne eigene mail-funktion, die die kommunikation mit dem externen mailserver übernimmt und eine user-passwort-authentifzierung intergriert hat. Eine Anregung wie das z.B. für ein gmail-konto funktioniert findest du hier:
http://de3.php.net/manual/de/ref.mail.php#76014 das hab ich damals auch als Ansatz genommen und entsprechend geändert.
Viel Erfolg!