2017-02-15 9 views
2

Вот мой файл, контакт-form.php (код)Ошибка SMTP: не удалось подключиться к узлу SMTP. PHPMailer ошибка

<?php 
if(isset($_POST['submit'])) 
{ 

$message= 
'Full Name: '.$_POST['fullname'].'<br /> 
Subject: '.$_POST['subject'].'<br /> 
Phone: '.$_POST['phone'].'<br /> 
Email: '.$_POST['emailid'].'<br /> 
Comments: '.$_POST['comments'].' 
'; 
    require "phpmailer/class.phpmailer.php"; //include phpmailer class 

    // Instantiate Class 
    $mail = new PHPMailer(); 

    // Set up SMTP 
    $mail->IsSMTP();    // Sets up a SMTP connection 
    $mail->SMTPAuth = true;   // Connection with the SMTP does require authorization  
    $mail->SMTPSecure = "ssl";  // Connect using a TLS connection 
    $mail->Host = "smtp.gmail.com"; //Gmail SMTP server address 
    $mail->Port = 465; //Gmail SMTP port 
    $mail->Encoding = '7bit'; 

    // Authentication 
    $mail->Username = "[email protected]"; // Your full Gmail address 
    $mail->Password = "yourpassword"; // Your Gmail password 

    // Compose 
    $mail->SetFrom($_POST['emailid'], $_POST['fullname']); 
    $mail->AddReplyTo($_POST['emailid'], $_POST['fullname']); 
    $mail->Subject = "New Contact Form Enquiry";  // Subject (which isn't required) 
    $mail->MsgHTML($message); 

    // Send To 
    $mail->AddAddress("[email protected]", "Recipient Name"); // Where to send it - Recipient 
    $result = $mail->Send();  // Send! 
    $message = $result ? 'Successfully Sent!' : 'Sending Failed!';  
    unset($mail); 

} 
?> 
<html> 
<head> 
    <title>Contact Form</title> 
</head> 
<body> 

     <div style="margin: 100px auto 0;width: 300px;"> 
      <h3>Contact Form</h3> 
      <form name="form1" id="form1" action="" method="post"> 
        <fieldset> 
         <input type="text" name="fullname" placeholder="Full Name" /> 
         <br /> 
         <input type="text" name="subject" placeholder="Subject" /> 
         <br /> 
         <input type="text" name="phone" placeholder="Phone" /> 
         <br /> 
         <input type="text" name="emailid" placeholder="Email" /> 
         <br /> 
         <textarea rows="4" cols="20" name="comments" placeholder="Comments"></textarea> 
         <br /> 
         <input type="submit" name="submit" value="Send" /> 
        </fieldset> 
      </form> 
      <p><?php if(!empty($message)) echo $message; ?></p> 
     </div> 

</body> 
</html> 

Он показывает эту ошибку, SMTP Ошибка: Не удается подключиться к SMTP хост.

Я знаю, что здесь задают несколько вопросов, но ничего не работает для меня, Я пробовал все предыдущие трюки, приведенные здесь, пожалуйста, кто-нибудь может помочь мне. Exact где ошибка п мое кодирование ...

+0

Попробуйте TLS с портом 587. Или ваш веб-хостинг заблокирован подключать сторонний SMTP хост? – AkiEru

+0

Итак, вы прочитали все эти вопросы и все еще используете старую и уязвимую версию PHPMailer, и вы основали свой код на устаревшем примере и не читали документы, связанные только с каждым вопросом по этому вопросу. Не впечатлен. – Synchro

ответ

1

Прочитайте ниже точки и implemet в соответствии с этим

порт 25, 465 или 587 SSL/TLS необязательными. Требуется один или несколько статических IP-адресов.

Порт 465 (требуется SSL) Порт 587 (требуется TLS) Dynamic IP-адреса разрешено

Port 25 TLS не требуется Dynamic IP-адреса разрешено почты можно отправлять только пользователям Gmail или G Сюита

ref: - here

просто вставьте эту строку в свой код и посмотрите, какая именно ошибка. Если это снова ошибка SMTP, просто следуйте выше.

Ref: - here

1

Пожалуйста, используйте TLS и порт 587 для Gmail

Set up SMTP 
$mail->IsSMTP();    // Sets up a SMTP connection 
$mail->SMTPAuth = true;   // Connection with the SMTP does require authorization  
$mail->SMTPSecure = "tls";  // Connect using a TLS connection 
$mail->Host = "smtp.gmail.com"; //Gmail SMTP server address 
$mail->Port = 587; //Gmail SMTP port 
$mail->Encoding = '7bit'; 
Смежные вопросы