Как отправить письмо из пользовательской формы html в WordPress? - PullRequest
1 голос
/ 06 января 2020

Я создал пользовательскую форму html, и при отправке формы я хочу отправить электронное письмо владельцу, используя мой файл php, но когда я отправляю свою форму, я получаю эту

Эта страница не работает

Yoursite.com в настоящее время не может обработать

этот запрос. ОШИБКА HTTP 500

Вот моя форма

<form action="mail.php">
    <label for="fname">Full Name</label>
    <input type="text" id="fname" name="name" placeholder="Your name..">

    <label for="email">Email</label>
    <input type="email" id="email" name="email" placeholder="Your email..">
   <label for="contact">Contact number</label>
    <input type="tel" id="contact" name="phone" placeholder="Your contact number..">
     <label for="subject">Description</label>
    <textarea id="subject" name="msg" placeholder="Tell us your requirements.." style="height:100px"> 
    </textarea>
    <input type="submit" value="Submit">
  </form>

и вот моя почта. php file

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    $name    = $_POST["name"];
    $email   = $_POST["email"];
    $phone   = $_POST["phone"];
    $message = $_POST["msg"];
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = '';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication

    $mail->Username = '';                 // SMTP username
    //$mail->Password = '';                           // SMTP password
    $mail->Password = '';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('owner@gmail.com', 'Mailer');

    $mail->addAddress('nitin@gmail.com');               // Name is optional
    $mail->addReplyTo('info@example.com', 'Information');

    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Request Enquiry';
    $mail->Body    = "             <html>     <body> <center>         <table border='0' align='center'>     <tr> <td> <b><span style='color:#005BAC;font-family:arial; font-size:20px;'>4 Way Technologies</span> </td> </tr>             </table> <table>     <tr> <td>Name : </td>             <td>$name</td>         </tr>         <tr> <td>Email : </td>         <td>$email</td>                 </tr>     <tr> <td>Phone : </td>             <td>$phone</td>             </tr>     <tr> <td>Message : </td> <td>$message</td>             </tr><tr> <td>URL : </td> <td>$url</td>             </tr>         </table>         </center>     </body>     </html>";
    //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    // header('Location:thankyou.php');
} catch (Exception $e) {
   // 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

Я вставил mail. php в папке Wordpress / htdocs

Ответы [ 2 ]

0 голосов
/ 06 января 2020

Вы можете использовать:

<?php bloginfo('stylesheet_directory'); ?>/mail.php
0 голосов
/ 06 января 2020

Эй, пожалуйста, вставьте свой почтовый файл в WordPress, как WordPress / Mail. php
, а затем в форме действия используйте **action="<?php echo home_url(); ?>/mail.php"**

Вы также можете проверить http://yoursite.com/mail.php должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...