Php oder funktion bei Mail verschicken

  • Hallo, Ich brauche Hilfe: und zwar brauche ich sozusagen ein oder befehl bei einem Formular beim Formular kann mann auswählen an welche email adresse es geshcikt werden soll, ich habs so:


    PHP
    <select size="1">
        <option value="<?php echo $Empfaenger; ?>">Webmaster</option>
        <option value="<?php echo $Empfaenger1; ?>">Postmaster</option>
      </select>

    So das Bestellformular schickt seine daten an die zweite .php datei diese kontrolliert ob alle felder ausgefült worden sind und versendet die mail.

    Die Variable hab ich hier hin gemacht also $Empfaenger und $Empfaenger1:

    PHP
    <?php
    
    
    $Empfaenger = "email@email.de";
    $Empfaenger1 = "email1@email1.de";

    Wenn ich das dann so ausprobiere dann zeigt mir der Browser das hier an:

    Code
    Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /var/www/web35/html/bestell1.php on line 31

    Zeile 31 verschickt die email die sieht so aus:

    Code
    mail($Empfaenger, $Empfaenger1, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);

    So udn ich brauche jetzt hier sozusagen eine Oder Funktion die Die Email entweder an Empfänger oder an Empfänger 1 schickt ich hab das ja so gemacht:

    Code
    mail($Empfaenger, $Empfaenger1

    Aber mit Komma geht es nicht ich krieg die Fehlermeldung.
    Ich hoffe ihr könnt mir Helfen.

    Vielen Dank schonmal im Vorraus
    Gruß Leo

    Mit Freundlichen Grüßen
    Leo

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Die mail-Funktion kann nicht entscheiden, ob eine E-Mail an die eine oder die andere Adresse geschickt werden soll. Das musst Du schon selbst z.B. mit Hilfe einer if-Bedingung programmieren.

  • Dann besser PHP lernen, vor allem die if-Bedingung:

    http://de3.php.net/if

    und dann noch drüber nachdenken nach welchen Regeln "entweder die eine oder die andere" genutzt werden soll - das musst du schon vorher definieren und dann eben in PHP formulieren. Das fehlt bisher hier also kann dir auch keiner weiterhelfen.

  • Ich würde dir auch raten, bei Verwendung von diesem Skript aufzupassen. So wie es aussieht kann jeder mit etwas Ahnung von HTML damit kostenlos E-Mails von deinem Server aus schicken.

    Aber der Dunst, Moe, der Dunst!

  • Ok also il leg mal los aber ich weiss net ob das so richtig ist:

    Code
    if(mail($Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']); 
    ) 
    { 
    $Empfaenger
    } 
    else 
    { 
    $Empfaenger1
    }

    Stimmt das so? ich glaube nicht oder?

    Gruß Leo

    Mit Freundlichen Grüßen
    Leo

  • Nein. Damit würdest Du nur prüfen, ob eine E-Mail erfolgreich verschickt wurde oder nicht. Was stellst Du dir denn gedanklich unter dieser Bedingung vor? Eine rein zufällige Auswahl? Dann schau dich mal nach Zufallszahlen in PHP um.

  • Ja ich schaff es irgendwie nicht. das Hinzubekommen das Prinzip ist jaklar aber wie ich das realisieren soll versteh ich nicht.

    bestell.php
    dort wählt mann aus wo hin geschickt werden soll -> Submit -> schickt die felder an bestell1.php Chekt ob alle Felder Ok sind dann soll Die cheken an WELCHER email geschickt werden soll also an Empfaenger oder an Empfaenger1

    Das versteh ich nicht wie ich das machen soll mit dieser if dings da.
    Könntest du mir das nicht zeigen? damit ich das wenigstens auch verstehe.

    Gruß Leo

    Mit Freundlichen Grüßen
    Leo

  • Achso, man wählt vorher im Formular aus an wen die E-Mail geht. Dann ist die Bedingung ja relativ einfach:

    Code
    if($_REQUEST["empfaenger"] == 1)
    {
    hier die mail-funktion mit empfaenger1
    }
    else
    {
    hier die mail-funktion mit empfaenger2
    }

    wenn im Formular die Auswahl darüber geschieht:

    Code
    <input type="radio" name="empfaenger" value="1" /> Empfaenger 1
    
    
    <input type="radio" name="empfaenger" value="2" /> Empfaenger 2

    Falls bei dir das Formular anders aussieht für diese Auswahl müsstest Du die Bedingung nur entsprechend anpassen.

  • Hallo, es geht Halbwegs: ich hab dein Code so ergänzt ist es richtig?

    Code
    if($_REQUEST["empfaenger"] == 1) 
    { 
     mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
    } 
    else 
    { 
     mail($Empfaenger1, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
    
    
    }

    Es kommt dann auch die Meldung das die Email veschikt worden ist aber im Postfach kommt nix an, auch nicht in unerwünschte Post.
    So ich Poste hier jez mal alles:
    die bestell.php - Das Formular

    So das ist die Verarbeitungsdatei bestell1.php :

    Ich hoffe ihr könnt mir nun helfen.
    Vielen Dank.

    Gruß Leo

    Mit Freundlichen Grüßen
    Leo

  • Hi Leo, der Teufel steckt bei dir im Detail ^^ oder wie man so schön sagt.
    Da es ein einfacher mailversand ist und es nur um einen empfängerversand (nicht um mehrere) geht, schau dir bitte mal folgendes an:

    PHP
    <select name="empfaenger" size="1"> 
        <option value="<?php echo $Empfaenger; ?>">Webmaster</option> 
        <option value="<?php echo $Empfaenger1; ?>">Postmaster</option> 
      </select>


    name="empfaenger"
    Wenn du dieses kleine Detailchen beachtest, dann brauchst du rein gar keine IF-Abfragen etc. an wen das versand werden soll.
    du kannst dann ganz easy mittels:

    Code
    mail($_REQUEST[empfaenger], $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']."\r\n");

    die mail an den wirklich vom User ausgewählten Emfänger versenden.
    Das war schon des Rätsels Lösung ;)
    Hoffe ich konnte helfen.
    murray_de_luxe

    edit:// mal wegens der radiobuttongeschichte, auch mal ne simple Möglichkeit:

    PHP
    <?php
    $arr_empflist = array("master@my.de","master2@my2.de");
    //.........usw
    
    
    mail($arr_empflist[($_REQUEST[empfaenger]-1)], $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']."\r\n");

    Achja und hinweis:

    Code
    <td><input type="radio" name="empfaenger" value="1" /> 
      Webmaster 
    
     
    <input type="radio" name="empfaenger" value="2" /> 
    Postmaster</td>


    Da sollte wenigstens eine Möglichkeit schon vorselektiert sein, ansonsten bekommst nur error beim versand insofern nicht abgefangen. Also Bsp:

    Code
    <td><input type="radio" name="empfaenger" checked value="1" /> 
      Webmaster

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!