Использование Gmail SMTP для отправки электронной почты самому себе, используя контактную форму в WordPress - PullRequest
0 голосов
/ 25 сентября 2018

Обычно я пытаюсь использовать SMTP-аутентификацию Gmail для отправки электронного письма, используя мою контактную форму в WordPress.Я пытаюсь сделать это без использования плагинов.Мой код работает отлично, когда я использую плагин SMTP, но без него не так уж много.

Я знаю, что что-то упустил полностью, потому что мой код не включает в себя какие-либо данные авторизации от Google, но я 'Я изо всех сил пытаюсь найти, где я иду не так.Если вы можете помочь мне указать правильное направление или дать несколько советов, это было бы здорово!

Форма обратной связи PHP

<?php

add_action('wp_ajax_contact_form', 'contact_form_function');
add_action('wp_ajax_nopriv_contact_form', 'contact_form_function');

// Set $to as the email you want to send the test to.
$to = "mail@mail.com";

// Email subject and body text.

$name = $_POST["name"];
$email = $_POST["email"];
$subject = $_POST["subject"];
$headers .= "Reply-To: ". strip_tags($_POST['email']) . "\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = $_POST["message"];
// send test message using wp_mail function.
if(isset(($_POST['name']), ($_POST['email']), ($_POST['message']), ($_POST["subject"]))) {
  $sent_message = wp_mail( $to, $subject, $message, $headers );
} else {

};

?>

SMTP - эти указания указывают на информацию в моем wp-config.phpфайл

<?php

// SMTP setup for the Gmail email sending
add_action( 'phpmailer_init', 'send_smtp_email' );
function send_smtp_email( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = SMTP_HOST;
    $phpmailer->SMTPAuth   = SMTP_AUTH;
    $phpmailer->Port       = SMTP_PORT;
    $phpmailer->Username   = SMTP_USER;
    $phpmailer->Password   = SMTP_PASS;
    $phpmailer->SMTPSecure = SMTP_SECURE;
    $phpmailer->From       = SMTP_FROM;
    $phpmailer->FromName   = SMTP_NAME;
}

?>

HTML Javascript ...

<p class="contact-button text-uppercase text-bold" id="contact-button" onclick="">Contact Me</p>

            <div class="contact-body align-center flex-column">
              <p class="contact-text">If you would like to contact me feel free to fill on the below forms and I'll get back to you within 24-48 hours! Alternatively click the mail icon below to send me an email. </p>
              <ul class="contact-form">
                <form method="POST" id="contact-form">
                  <div class="contact-element flex-row">
                    <input type="text" name="name" placeholder="Name" id="name" Required>
                    <input type="email" name="email" placeholder="Email Address" id="email" Required>
                  </div>
                  <input type="text" name="subject" placeholder="Subject" id="subject" Required>
                  <textarea type="text" name="message" rows="5" placeholder="Message" id="message" Required></textarea>
                  <input class="contact-submit" id="submit" name="submit" type="submit" value="Submit">
                    <input type="hidden" name="action" value="contact_form" id="cf_action" url="<?= admin_url('admin-ajax.php'); ?>">
                  <?php wp_nonce_field( 'contact_form', 'contact_form_wpnonce' ); ?>
                </form>
              </ul>
            </div>

            <script>

            $("#contact-form").submit(function(e){
                var url = $('#cf_action').attr('url'),
                success = "Thank you for your message. We will get back to you as soon as possible!";
                $.ajax({
                    type: "POST",
                    url: url,
                    data: $("#contact-form").serialize(),
                    success: function(data) {
                        alert(success);
                    }
                });
                e.preventDefault(); // avoid to execute the actual submit of the form.
            });

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