E-Mail über PHP Versenden!

  • PHP

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von VBDev.

    E-Mail über PHP Versenden!

    Hallo,

    mein vorhaben wäre es eine E-Mail über ein PHP-Script zu versenden. Ich habe da ein Php-Script im Internet gefunden was auch Funktioniert aber nicht meiner Vorstellung entspricht.

    PHP-Quellcode

    1. <?php
    2. mail($emp, $betr, $msg,
    3. "From: $abs \nReply-To: $mail\nX-Mailer: PHP/" . phpversion());
    4. echo "eMail wurde versand";
    5. ?>


    Und dann werden die Daten über die URL übermittelt:

    VB.NET-Quellcode

    1. WebBrowser1.Navigate sURL & "email.php?" & _
    2. "abs=" & txtFrom.Text & _
    3. "&emp=" & txtTo.Text & _
    4. "&betr=" & txtSubject.Text & _
    5. "&msg=" & txtMessage.Text


    Leider kenne ich mich wirklich NULL mit Php aus und kann dementsprechend das Script nicht ändern. Ich möchte gerne den Empfänger (mich) in der PHP-Datei deklarieren und nicht in meiner VB.NET App. Die leute die PHP können schlagen jetzt die hände über den Kopf zusammen! :thumbsup:

    *Topic verschoben*
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Marcus Gräfe schrieb:

    Ersetze einfach $emp durch deine Mailadresse.


    Ohne " " oder ' ' ?

    Ja, ist mir auch gerade aufgefallen! :D Hatte das von vbArchiv kopiert!

    Ich habe das Script jetzt mal geändert.

    PHP-Quellcode

    1. <?php
    2. mail('meine@email.de', $betreff, $nachricht, "From: Absender <meine@email.de>");
    3. ?>


    Wenn ich jetzt versuche das mit dieser URL aufzurufen:

    Quellcode

    1. http://domain/email.php?betreff=EmailTest$nachricht=TestTest


    Bekomme ich die E-Mail zwar zugeschickt und auch der Absender stimmt aber die 2 Variablen Betreff und Nachricht werden nicht mit gesendet. Was mache ich falsch?

    *Vollzitat entfernt* ~NoFear23m
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Nofear23m“ ()

    Ja, in "..." oder '...' (hier würde ich letzteres nehmen, ist aber streng genommen egal). Ich bin ursprünglich davon ausgegangen, dass du den Absender ändern möchtest (hatte dann den Variablennamen editiert), da wäre es dann ohne Anführungszeichen, weil das ganze Konstrukt schon in Anführungszeichen steht.

    Nach "EmailTest" fehlt das "&". Ist das evtl. schon der Fehler?

    Grundsätzlich ist es mir allerdings neu, dass PHP die GET-Parameter direkt als Variablen anbietet, also dass ?betreff=xyz mit $betreff ausgewertet werden kann. Aber wenn's vorher auch geklappt hat, wird das wohl so sein.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    C.O.D.E schrieb:

    Ich
    möchte gerne den Empfänger (mich) in der PHP-Datei deklarieren und
    nicht in meiner VB.NET App


    In deinem jetzigen Code-Beispiel wird neben dem Empfänger auch der Absender fest definiert (von meine@email.de an meine@email.de) - soll das so sein?

    Marcus

    Gräfe schrieb:

    Grundsätzlich
    ist es mir allerdings neu, dass PHP die GET-Parameter direkt als
    Variablen anbietet


    Das tut PHP von sich aus auch nicht, dazu muss bei GET-Parametern immer das $_GET Array genutzt werden.

    Es gab früher mal die function import_request_variables, mit der konnte man die Parameter direkt als variable (u.a. auch mit Prefix) verfügbar machen. Das ist allerdings seit einigen Versionen deprecated und bereits aus PHP entfernt.

    So sollte es aber funktionieren:

    Quellcode

    1. http://domain/email.php?betreff=EmailTest&nachricht=TestTest


    PHP-Quellcode

    1. <?php
    2. $subject = $_GET['betreff'];
    3. $message = $_GET['nachricht'];
    4. $recipient = 'meine@email.de'; //Hier die Empfänger Mail
    5. $sendername = 'Absender'; //Absender
    6. $sendermail = 'meine@email.de'; //Absender Name
    7. mail($recipient, $subject, $message, "From: $sendername <$sendermail>");
    8. ?>
    var coffee = new coffee();
    if(coffee.empty)
    {
    coffee.refill();
    } else {
    coffee.drink();
    }