#wordpress #forms #mailto #mixed-content #insecure-connection
#wordpress #формы #mailto #смешанный контент #небезопасное соединение
Вопрос:
Я пытаюсь создать форму WordPress, введя непосредственно html-код в блоке шаблона (который должен точно соответствовать требуемому визуальному дизайну), и он не работает. Я получаю это сообщение об ошибке на консоли Chrome:
Смешанный контент: страница в ‘https://protegetumarcaonline.com /’ был загружен по защищенному соединению, но содержит форму, предназначенную для небезопасной конечной точки’mailto:proyectosonline@isern.com «. Эта конечная точка должна быть доступна по защищенному соединению.
https://photos.app.goo.gl/687cUavnacTQ94fF7
Это код формы:
<form action="mailto:proyectosonline@isern.com" method="get" enctype="text/plain">
SOBRE TI <br><br>
Nombre*<br>
<input style="width:100%;" type="text" name="nombre" required="" class="czr-focusable">
Email*<br>
<input style="width:100%;" type="text" name="email" required="" class="czr-focusable">
¿Tienes web?<br>
<input style="width:100%;" type="text" name="web" class="czr-focusable">
Marca*
<input style="width:100%;" type="text" name="marca" required="" class="czr-focusable">
Productos y/o Servicios de interés*
<textarea style="width: 100%; margin-top: 0px; margin-bottom: 0px; height: 82px;" name="mensaje" required="" class="czr-focusable"> </textarea>
<input type="checkbox" name="Facebook"> Facebook<br>
<input type="checkbox" name="Instagram"> Instagram<br>
<input type="checkbox" name="Twitter"> Twitter<br>
<input type="checkbox" name="Web propia"> Web propia<br>
<input type="checkbox" name="Amazon"> Amazon<br>
<input type="checkbox" name="Alibaba"> Alibaba<br>
<input type="checkbox" name="Otras"> Otras<br>
<input type="checkbox" required="" name="politica"> Acepto la política de privacidad*<br>
<input type="checkbox" name="comunicaciones"> Acepto recibir comunicaciones comerciales e informativas<br><br>
<input type="image" src="wp-content/uploads/2020/11/icono-ENVIAR.png" value="Enviar" name="enviar" alt="Enviar" width="110 style=" border:="" none;"="">
Я также попытался использовать метод post с тем же результатом. Веб-сайт: https://protegetumarcaonline.com /
Что я мог сделать?
Большое вам спасибо, Мигель Гисберт
Ответ №1:
Невозможно использовать «mailto:» с защищенным подключением, поскольку mailto: открывает приложение для отправки почты. Приложение, которое может использовать или не использовать защищенный протокол (TLS).
Одним из способов исправить это было бы использовать форму POST, которая вызывает PHP-скрипт для отправки почты. Итак, ваш HTML выглядит примерно так:
<form method="post" action="/wp-content/php_scripts/send_mail.php">
SOBRE TI <br><br>
Nombre*<br>
<input style="width:100%;" type="text" name="nombre" required="" class="czr-focusable">
Email*<br>
<input style="width:100%;" type="text" name="email" required="" class="czr-focusable">
¿Tienes web?<br>
<input style="width:100%;" type="text" name="web" class="czr-focusable">
Marca*
<input style="width:100%;" type="text" name="marca" required="" class="czr-focusable">
Productos y/o Servicios de interés*
<textarea style="width: 100%; margin-top: 0px; margin-bottom: 0px; height: 82px;" name="mensaje" required="" class="czr-focusable"> </textarea>
<input type="checkbox" name="Facebook"> Facebook<br>
<input type="checkbox" name="Instagram"> Instagram<br>
<input type="checkbox" name="Twitter"> Twitter<br>
[...]
<input type="submit">
</form>
И ваш PHP-файл send_mail.php
<?php
/**
* Filter the mail content type.
*/
function wpdocs_set_html_mail_content_type() {
return 'text/html';
}
add_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );
$message = '<p>Nombre:' . $_POST['nombre'] . '</p><p>Email:' . $_POST['email'] .'</p><p>...</p>';
$result = wp_mail('proyectosonline@isern.com', 'New mail', $message);
if ($result ) {
// Do something here
}
// Reset content-type to avoid conflicts -- https://core.trac.wordpress.org/ticket/23578
remove_filter( 'wp_mail_content_type', 'wpdocs_set_html_mail_content_type' );
?>
документ wp_mail: https://developer.wordpress.org/reference/functions/wp_mail /
wp_mail_content_type: https://developer.wordpress.org/reference/hooks/wp_mail_content_type /
Комментарии:
1. Большое вам спасибо, Томас, сейчас я получаю сообщение об ошибке 500 без сообщения в консоли Chrome.
2. Я установил все разрешения для send_mail.php досье. Что еще я мог сделать? Большое вам спасибо,