E-Mail versenden über sockets
    
Daniel83
    
    
      
    
  - php
 
0 XaraX
Hi, ic habe folgenden stück Code aus meinem Programm kopiert :
[Code]
$fp2=fsockopen("pop3.meinedomain.com",110);
$result = fgets($fp2,1024);
  //echo "$result\n";
  fputs($fp2,"USER <<username>>\r\n");//
  $result = fgets($fp2,1024);
  //echo "$result\n";
  fputs($fp2,"PASS <<pass>>\r\n");
  $result = fgets($fp2,1024);
  //echo "$result\n";
  fclose($fp2);
  $email_to = "<<TO_MAIL>>"; //Fiktive Namen !!!
  $email_from = "<<FROM_MAIL>>";
  $email_betreff ="<<BETREFF>>";
  $hdr = "From: $email_from\r\n";
  $hdr .= "To: $email_to\r\n";
  $hdr .= "Subject: $email_betreff\r\n";
  $hdr .= "\r\n";
$fp = fsockopen("smtp.meinedomain.com", 25);
  $result = fgets($fp, 1024);
  //echo "$result\n";
  if ($result+0 != 220)
  die("Statuscode falsch (service not ready?): $result");
fputs($fp, "HELO Hallo\r\n");
  $result = fgets($fp, 1024);
  //echo "$result\n";
  if ($result+0 != 250)
  die("HELO Statuscode falsch: $result");
fputs($fp, "MAIL FROM: <<FROM_MAIL>>");
  $result = fgets($fp, 1024);
  //echo "$result\n";
  if ($result+0 != 250)
  die("MAIL FROM Statuscode falsch: $result");
fputs($fp, "RCPT TO: $email_to\r\n");
  $result = fgets($fp, 1024);
  //echo "$result\n";
  if ($result+0 != 250)
  die("RCPT TO: Statuscode falsch: $result");
fputs($fp, "DATA\n");
  $result = fgets($fp, 1024);
  //echo "$result\n";
  if ($result+0 != 354)
  die("DATA: Statuscode falsch: $result");
fputs($fp, $hdr);
fputs($fp, "Mein Text");
fputs($fp, "\r\n.\r\n");
  $result = fgets($fp, 1024);
  if ($result+0 != 250)
  die("DATA(end): Statuscode falsch: $result");
fputs($fp, "QUIT\r\n");
  $result = fgets($fp, 1024);
  if ($result+0 != 221)
  die("QUIT: Statuscode falsch: $result");
fclose($fp);
  echo "E-Mial wurde erfolgreich an $Amail versendet!<br>";
[/code]
Wenn ich als smtp server den von Web.de angebe funktioniert das, aber wenn ich den von meinem Domain anbieter nehme, dann klappt das nicht.
Ich bekomme folgenden Fehlercode : 451
Bedeutet ja folgendes :"Requested action aborted: local error in processing"
Den Fehler bekomme ich an der stelle wo ich den . im DATA Block an den smtp server schicke. Gibt es noch andere Determinierungszeichen ? Oder liegt der Fehler im Quellcode ?
Gruß Daniel
Hallo Daniel83,
fputs($fp, "DATA\n");
"DATA\r\n"
Gruß aus Berlin!
eddi