PHP/HTML-Formular Daten zu versenden wie eine E-Mail von meinem GMAIL-Konto

Ich bin versucht, senden Sie eine E-Mail an mich, wenn jemand füllt das Formular auf meiner web-Seite. Meine form sieht wie folgt aus:

    <form id="contactForm" action="#" method="post">
                <fieldset>                      
                    <p>
                        <label for="name" >Name</label>
                        <input name="name"  id="name" type="text" class="form-poshytip" title="Enter your full name" />
                    </p>
                    <p>
                        <label for="email" >Email</label>
                        <input name="email"  id="email" type="text" class="form-poshytip" title="Enter your email address" />
                    </p>
                    <p>
                        <label for="web">Website</label>
                        <input name="web"  id="web" type="text" class="form-poshytip" title="Enter your website" />
                    </p>
                    <p>
                        <label for="comments">Message</label>
                        <textarea  name="comments"  id="comments" rows="5" cols="20" class="form-poshytip" title="Enter your comments"></textarea>
                    </p>
                    <!-- send mail configuration -->
                    <input type="hidden" value=EMAIL" name="to" id="to" />
                    <input type="hidden" value="Email received from Website" name="subject" id="subject" />
                    <input type="hidden" value="send-mail.php" name="sendMailUrl" id="sendMailUrl" />
                    <!-- ENDS send mail configuration -->

                    <p><input type="button" value="Send" name="submit" id="submit" /> <span id="error" class="warning">Message</span></p>
                </fieldset>

            </form>

PHP ich habe sieht wie folgt aus:

<?php
//vars
$subject = $_POST['subject'];
$to = explode(',', $_POST['to'] );

$from = $_POST['email'];

//data
$msg = "NAME: "  .$_POST['name']    ."<br>\n";
$msg .= "EMAIL: "  .$_POST['email']    ."<br>\n";
$msg .= "WEBSITE: "  .$_POST['web']    ."<br>\n";
$msg .= "COMMENTS: "  .$_POST['comments']    ."<br>\n";

//Headers
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: <".$from. ">" ;

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'EMAIL',
        'password' => 'PASSWORD'
    ));

$mail = $smtp->send($to, $headers, $msg);
?>

Wo E-MAIL und PASSWORT werden dann ersetzt mit den Werten....

Kann jemand beraten, was zu tun ist?

  • was ist hier das problem ?
  • die E-Mail kommt nie durch
  • versuchen if($mail) echo "mail sent"; else echo "mail not sent"; dieses sagen ob send() Probleme hat
  • Ich denke, dass der port für Gmail ist 587. Auch, warum nicht die SMTP-details sind in der php.ini in der E-mail Funktion, sendmail und dann @mail($to, $subject, $msg, $headers)
  • Ich habe keine Erfahrung in PHP leider! gerade versucht, dies herauszufinden, ohne Freude!
  • Ich dachte jemand mit mehr wissen würde in der Lage sein zu geben, eine Lösung einfach als wäre es eine häufige Anforderung
  • Sie müssen ändern action="#" zu action="" und dann <input type="button" value="Send" name="submit" id="submit" /> zu <input type="submit" value="Send" name="submit" id="submit" /> @MarkMcK - Jedoch, wenn Sie zwei separate Dateien, dann benötigen Sie so etwas wie action="sendmail.php" zusammen mit meinem anderen Vorschlag über Ihre senden-Schaltfläche.
  • Und du bist auch fehlt ein Angebot für value=EMAIL" und warum machst du $to = explode(',', $_POST['to'] );?
  • Sie können hinzufügen 'debug' => true, um die parameter-Liste, E-Mail::Factory dump debug info. Ich Stimme mit @Declan Greally über den Hafen, und ich möchte hinzufügen, dass der host sollte einfach sein 'smtp.gmail.com', (verhandeln muss, TLS automatisch).
  • Ihre Parameter sind aus ($to, $headers, $msg) Header geht letzten. Versuchen ($to, $subject,$msg, $headers) es ZU, dann Subjekt, dann Botschaft, dann-Header.

InformationsquelleAutor Mark McK | 2014-02-21
Schreibe einen Kommentar