2017-09-30 4 views
-1

J'ajoute un phpmailer avec SMTP à mon site. J'ai fait un fichier phpmailer et j'ai fait tout le codage nécessaire. Maintenant, j'ai besoin de savoir comment ajouter correctement mon phpmiler.php à mon index.html afin que je puisse utiliser mon formulaire d'email.Ajouter phpmailer au formulaire HTML

mon phpmailer.php:

<?php 
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 

require 'assets/PHPMailer/src/Exception.php'; 
require 'assets/PHPMailer/src/PHPMailer.php'; 
require 'assets/PHPMailer/src/SMTP.php'; 

$mail = new PHPMailer(true);        // Passing `true` enables exceptions 
try { 
    //Server settings 
    $mail->SMTPDebug = 0;         // Enable verbose debug output 
    $mail->isSMTP();          // Set mailer to use SMTP 
    $mail->Host = 'test'; // Specify main and backup SMTP servers 
    $mail->SMTPAuth = true;        // Enable SMTP authentication 
    $mail->Username = 'test';     // SMTP username 
    $mail->Password = 'test';       // SMTP password 
    $mail->SMTPSecure = 'ssl';       // Enable TLS encryption, `ssl` also accepted 
    $mail->Port = 465;         // TCP port to connect to 

    //Recipients 
    $mail->setFrom('test'); 
    $mail->addAddress('test');  // Add a recipient 
    $mail->addReplyTo('test', 'Information'); 
    $mail->addCC('[email protected]'); 
    $mail->addBCC('[email protected]'); 


    //Content 
    $mail->isHTML(true);         // Set email format to HTML 
    $mail->Subject = 'Here is the subject'; 
    $mail->Body = 'This is the HTML message body <b>in bold!</b>'; 

    $mail->send(); 
    echo 'Message has been sent'; 
} catch (Exception $e) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} 
?> 

J'ai testé le fichier php, tout fonctionne, j'utiliser le test dans les champs de renseignements personnels.

Mon formulaire HTML:

<div class="block"> 
    <h2>Send message</h2> 
    <form> 
     <div class="form-group"> 
      <input type="text" name="mail" class="form-control" placeholder="Email Address"> 
     </div> 
     <div class="form-group"> 
      <input type="text" name="subject" class="form-control" placeholder="Subject"> 
     </div> 
     <div class="form-group"> 
      <textarea class="form-control" name="text" rows="3" placeholder="Your Message"></textarea> 
      <button class="btn btn-default" type="submit" >Send Message</button> 
     </div> 
    </form> 
</div> 

Comment puis-je faire ce travail pour qu'il prenne email, texte et sujet dans mon phpmailer.php et envoyer le jet de message formulaire HTML?
Merci et désolé pour ma mauvaise langue, pas mon natif.

Répondre

0

d'abord, vous devez changer <form> pour

<form action="/maybepath/phpmailer.php" method="POST" > 

Deuxièmement, vous devez changer phpmailer.php pour obtenir les données de $ _POST et le mettre à la bonne place. Essayez var_dump($_POST); pour voir ce que vous obtenez.

1
  1. Donnez votre formulaire le attr d'action appropriée pour pointer vers votre fichier php
  2. Dans le fichier php substitude les valeurs absolues à des valeurs obtenu à partir du tableau $ _POST - les clés correspondrait au nom attr dans votre html exemple: $ _POST [ 'mail'] dans le fichier php détiendrait la valeur de l'entrée avec l'attribut name défini sur 'mail'