OpenMailRelay Test?

Ich versuche ein Script bzw. eine Funktion zu schreiben die testet ob ein Server ein offenes Mail Relay besitzt (also ob man als Anonymus E-Mails über den Server senden kann).

PHP:
function isOpenrelay($from, $sendto, $host, $port) {
  $betreff = "Open Relay Test Mail!";
  $nachricht = "Dies eine automatisch generierte E-Mail um zu testen ob dieser Server ein offenes Mail Relay besitzt.";
  $header = "From: ".$from."\r\n"."Reply-To: ".$from."\r\n"."X-Mailer: PHP/".phpversion();
  $mail = mail($sendto, $betreff, $nachricht, $header);
  echo $mail;
}

Gibt mir nur ein true wieder bzw. eine 1 wieder und die Mails gehen aber nicht raus, hab ich was nicht bedacht oder falsch gemacht?
 
Bist Du sicher, dass die Mail nicht rausgeht?
mail() gibt true zurueck wenn die Mail zum Versand angenommen wird, was aber noch nicht unbedingt heisst, dass sie vom Gegenueber auch angenommen oder als Spam markiert wird.
Weiterhin trifft eine ueber mail() versandte eMail im Grunde keine Aussage ob der Server als Relay fungiert oder nicht, denn in der Regel ruft mail() lokal sendmail auf. Um wirklich auf Relay zu testen musst Du direkt mit dem SMTP-Server verbinden.
 
Du meinst also ich sollte nen Socket öffnen und das ganze an den Server weitergeben ja?

Oder hab ich das falsch verstanden? Wenn ja klär mich bitte auf.
 
Genau das meine ich. Du verbindest direkt mit dem Server und versuchst dann, ohne Dich dort zu authentizieren mit einer beliebigen Mail-Addresse eine eMail zu verschicken.
 
Zurück