PHP implode() will nicht mitspielen

dachte auch erst es müsste ein leerzeichen drin sein, abba funktioniert mit leerzeichen auch net^^ (habs schon öfter mit und ohne probiert)

ok werd das mit dem if gleich mal testen.
Ergänzung ()

hab jetz if $send == true dann soll er mir ausgeben dass es geklappt hat!

mein script gibt mir die gewünschte antwort:

Code:
Die Mail wurde versendet!

hab aber trotzdem keine mail bekommen^^

muss ich dann nochmal extra des mail() ausführen oder reicht es wenn ich die variable mit dem mail()-befehl belege??

*am verzweifeln*
 
Rückgabewerte

Gibt TRUE zurück, wenn die E-Mail erfolgreich für den Versand akzeptiert wurde, sonst FALSE.

Dass eine E-Mail für den Versand akzeptiert wurde, bedeutet nicht, dass sie auch wirklich den gewünschten Empfänger erreichen wird.

-> http://de.php.net/manual/de/function.mail.php

Hast du zufällig anderen Webspace auf dem du das ganze mal testen könntest..?
 
Zurzeit hab ich keinen anderen webspace, aber ich denk ich kann mir da schon welchen besorgen.


allerdings wird TRUE zurückgeliefert -->wurde für versand akzeptiert!
dann kanns doch eigentlich net am server liegen, weil wenn ders net akzeptiert müsste es doch FALSE sein!

nur wie mach ich des dass ich vom anderen webspace auf die DB komm?? geht des überhaupt?
Ergänzung ()

wie siehts aus wenn ich einfach so viele ergebnisse wie aus der DB kommen einfach für alle ne extra mail()-funktion benutz (zB in einer for-schleife)!

dann würde an jeden extra eine gesendet werden!
oder belastet des den server viel zu arg (es sind immer so ca. 15 mail-adressen)
 
Das true bedeutet nur das die Mail von "php" zu deinem Mail server gesendet wurde. Was dann dein mail server damit macht is was anderes.

15 mail adressen sollten kein problem sein.
 
joah dann schau ich mal morgen nach nem anderen kostenlosen webspce-provider und guck mal obs da läuft!

nur dann hab ich ja des problem dass ich ja eigentlich auch mein forum auf den anderen webspace machen müsste, odda?? weil ich muss ja auf die datenbank zugreifen (im test-script werd ich die halt dann per hand eingeben)
 
ansonsten wirklich versuchen es mit einer schleife machen und pro durchgang eine mail. 15 mails sollten kein problem sein.
 
hab mich jetz ans support-forum von funpic gewendet und frag mal da nach
(wobei ich bei denen echt finde, dass man im forum recht lang auf ne gute antwort warten muss :( )

naja und dann mal schauen!
ich denk dann lass ich se durchs formular einfach durch ein komma und ein leerzeichen trennen und explode dann den string! dann müsste ich ja ein array bekommen mit allen mailadressen! und diese würd ich dann halt in ne schleife einbauen

:( warum kann des zeugs net einfach immer funktionieren wie's soll? :(
Ergänzung ()

och man ey!
ich zitiere die antwort eines users des funpic-forums:
Pro mail()-Aufruf kann auf Funpic nur eine Mail versendet werden.
und dafür hab ich jetz mehrere tage mehrere stunden rumprobiert! und nirgendwo auf der funpic-seite hab ich des gefunden, dass es net geht.

also dann werd ich jetz die schleife mal programmieren! ich hoff ich bekomms hin, denk aba schon
Ergänzung ()

*dumm guck*
seit heute morgen ist jetz auch noch der webserver von vielen usern down, und ich gehör dazu :freak:
Ergänzung ()

so hab jetz die schleife gemacht!
hab aber eine frage! denn ich möchte nen text ausgeben (siehe kommentar im code), wenn die mail an alle versendet werden konnte! wie mach ich des??

PHP:
$recipient=array();
$recipient=explode(', ', $_POST['empfaenger'];
$send=array();
for ( $x = 0; $x < count ( $recipient ); $x++ ) {
  $send[$x] = mail($recipient[$x],
  $_POST['betreff'],
  $_POST['nachricht'],
  "From: ".$_POST['absender']." <>");
    if ($send == true) {
    }
    else {
    echo 'E-Mail an '.$recipient[$x].' konnte nicht gesendet werden!<br/>';
    }
}
if ( /*Hier i-wie einfügen dass alle Elemente von $send TRUE sind!*/ ) {
echo 'Mail konnte an alle Empfänger versendet werden!<br/>';
}
else {
echo 'Mail konnte leider nicht an alle Empfänger (oder an niemanden) gesendet werden!<br/>Bitte nocheinmal versuchen!<br/>';
}
echo '<br/><br/><html><a href="http://***/mail.php">ZURÜCK</a></html>';
Ergänzung ()

so hab des ganze jetzt gelöst!

Vielen Dank an die sehr sehr netten und hilfsbereiten Helfer!

Falls es jemanden interessiert! Schleife sieht wie folgt aus:
PHP:
$recipient=array();
$recipient=explode(', ', $_POST['empfaenger']);
$send=array();
for ( $x = 0; $x < count ( $recipient ); $x++ ) {
  $send[$x] = mail($recipient[$x],
  $_POST['betreff'],
  $_POST['nachricht'],
  "From: ".$_POST['absender']." <>");
    if ($send[$x] == true) {
    echo 'Erfolg beim Senden der Mail an '.$recipient[$x].'!<br/>';
    }
    else {
    echo 'ERROR ('.$recipient[$x].')<br/>';
    }
}
(hoffe, dass man im englischen für empfänger wirklich recipient benutzt!)
 
te one schrieb:
PHP:
$recipient=array();
$recipient=explode(', ', $_POST['empfaenger']);
$send=array();
for ( $x = 0; $x < count ( $recipient ); $x++ ) {
  $send[$x] = mail($recipient[$x],
  $_POST['betreff'],
  $_POST['nachricht'],
  "From: ".$_POST['absender']." <>");
    if ($send[$x] == true) {
    echo 'Erfolg beim Senden der Mail an '.$recipient[$x].'!<br/>';
    }
    else {
    echo 'ERROR ('.$recipient[$x].')<br/>';
    }
}

Wenn du ein array durchlaufen willst, würde ich foreach benutzen:

PHP:
$recipient=array();
$recipient=explode(', ', $_POST['empfaenger']);
$send=array();
foreach($recipient AS $key => $empfaenger) 
{
   $send[$key] = mail($empfaenger,
   $_POST['betreff'],
   $_POST['nachricht'],
   "From: ".$_POST['absender']." <>");

     if ($send[$key] == true) 
    {
      echo 'Erfolg beim Senden der Mail an '.$empfaenger.'!<br/>';
    }
    else 
   {
      echo 'ERROR ('.$empfaenger.')<br/>';
   }
}

Du gehst alle elemente durch, in $key steht der Array-Index und in $empfaenger der wert dieses indexes.
 
hm jo stimmt, würd so auch gehen!

aba is ja eigentlich ziemlich der gleich aufwand, deswegen lass ichs denk ich so.

Hättest du ne idee wie ich die anzeige am ende optimieren könnte??
weil so steht ja immer da:

Erfolg beim Senden der Mail an 123@gmx.de
Erfolg beim Senden der Mail an 1234@gmx.de
Erfolg beim Senden der Mail an 12345@gmx.de
Erfolg beim Senden der Mail an 123456@gmx.de
Erfolg beim Senden der Mail an 1234567@gmx.de
Erfolg beim Senden der Mail an 12345678@gmx.de
...

Weil i-wie sieht alles blöd aus^^ (weil zB:
E-mail wurde an:
-123@gmx.de
-1234@gmx.de
...
is auch weng komisch!, oda net?)
 
hm stimmt, da haste recht!

aba wenn ich des count($array) rausnehm bleibts eig ziemlich gleich von der arbeit her!
ich benutz foreach eh eher selten, abba thx für den vorschlag, des damit zu machn.
 
ah stimmt!

da wär natürlich ne foreach besser!

abba für diesen fall is es ja eigentlich eh egal, von daher lass ichs erstmal so.
 
is halt ne sache die du dir einfach im kopf "einbrennen" musst. Performant programmieren. Die sache mit foreach is um einiges performanter und ressourcen schonender. Das wirst du zwar in diesem projekt net merken, aber man sollte versuchen sich es einfach von anfang an richtig einzugewöhnen ;)
 
Zurück
Oben