2016-06-02 19 views
0

Eigentlich verwende ich LOCALHOST. Ich habe ein Formular erstellt, damit Besucher mich per E-Mail kontaktieren können. Ich benutze PHP-Mail-Funktion, aber es funktioniert nicht. Der Fehler wird in der else-Anweisung erwähnt.PHP Mail-Funktion funktioniert nicht ..!

HTML

<form id="contact" method="post" action="contact us.php"> 
     <h1>Contact us</h1> 
     <label for="subject">Subject:(required)</label> 
     <input type="text" name="subject" placeholder="Enter your subject.." required/></br> 
     <label for="email">E-mail:(required)</label> 
     <input type="email" name="email" placeholder="Enter your email.." required/></br> 
     <label for="website">Website:(optional)</label> 
     <input type="url" name="website" placeholder="Enter your website.."/></br> 
     <label for="message">Message:(required)</label> 
     <textarea placeholder="Enter your message.." required="required" rows="12" name="message"></textarea></br> 
     <input type="submit" name="send" value="Send message"/> 
    </form> 

PHP

<?php 
if(isset($_POST['send'])) 
{ 
$to = "[email protected]"; 
$from = $_POST['email']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$header = "From:".$from; 
    mail($to, $subject, $message, $header); 
    if(mail($to, $subject, $message, $header)) 
    { 
     echo "<script>alert('mail was sent successfully!');</script>"; 
    } 
    else 
    { 
     echo "<script>alert('mail was not sent!');</script>"; 
    } 
} 
?> 

Der Hauptfehler, der im Browser angezeigt wird ist:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\PCzone\contact us.php on line 268 
+2

Sie rufen zweimal "mail()" auf. – Ivar

+2

Überprüfen Sie diesen Link es kann Ihnen helfen http://stackoverflow.com/questions/19132171/send-email-from-localhost-running-xammp-in-php-using-gmail-mail-server –

+0

Bitte werfen Sie einen Blick in Ihre HTTP-Server Fehlerprotokolldatei. Dort können Sie tatsächlich _read_ was genau das Problem ist statt _guess_. – arkascha

Antwort

0

Sie müssen Setup-Mail-Server auf dem lokalen Maschine oder verwenden smtp lib E-Mail senden OR nur Sendmail auf Ihrem lokalen Rechner installieren dann Config Detail mit Ihrem SMTP

smtp_server=smtp.gmail.com 
smtp_port=465 
[email protected] 
auth_password=your_password 
-1

Ich habe die Einstellungen ändern in

php.ini 

Jetzt Code läuft erfolgreich ändern.

0

Wenn Sie versuchen, am lokalen zu arbeiten, müssen Sie einige Einstellungen vornehmen. Code scheint perfekt zu sein, überprüfen Sie bitte einen auf dem Server. Ich hoffe es funktioniert auch bei Spam und Müll.