Добрый день! Я использую на сайте(wordpress) contact form 7, а также woocommerce. Хочется сделать так, чтобы данные с contact form уходили с одного email-адреса (допустим info@domain.com), а письма про заказ—с другого (orders@domain.com). Как можно настроить smtp так, чтобы использовать два ящика? Все плагины для smtp, которые нашел, дают одни настройки логина/пароля, может быть, есть идеи, как можно такое реализовать?
Это делается легко, если у Вас есть vps и Вы работаете без плагинов. Могу сказать как реализовать. А вот с плагинами не знаком, люблю использовать свой код.
// Элементы: form и button
var feedback_form = document.getElementById('feedback');
var feedback_submit = document.querySelector('button[name="feedback_submit"]');
// Если форма присутствует в документе
if ( feedback_form ) {
var feedback_name = feedback_form.querySelector('input[name="name"]');
var feedback_email = feedback_form.querySelector('input[name="email"]');
var feedback_text = feedback_form.querySelector('textarea[name="text"]');
var statusMessage = document.createElement('div');
statusMessage.className = 'status';
$(document).ready(function() {
$("button[name='feedback_submit']").click(function(e) { // Устанавливаем событие отправки для формы с id=form
if (feedback_name.value.length < 3 || feedback_email.value.length < 8 || feedback_text.value.length < 10) return;
feedback_submit.innerHTML = 'Отправляю...';
e.preventDefault();
var form_data = $('#feedback').serialize(); // Собираем все данные из формы
$.ajax({
type: "POST", // Метод отправки
url: "send.php", // Путь до php файла отправителя
data: form_data,
beforeSend: function() { // вызов перед запуском Ajax-запроса
feedback_form.appendChild(statusMessage);
statusMessage.innerHTML = 'Отправка сообщения...';
feedback_submit.style.display = 'none';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #999; padding: .7rem 0;';
},
success: function() {
statusMessage.innerHTML = 'Сообщение отправлено!';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #0a0; padding: .7rem 0;';
},
error: function() {
statusMessage.innerHTML = 'Возникла ошибка!';
statusMessage.style.cssText= 'text-shadow: 1px 1px 0 #fff; color: #f00; padding: .7rem 0;';
}
});
});
});
}
Файл send.php
$name = clean($_POST['name']);
$email = clean($_POST['email']);
$text = clean($_POST['text']);
$domen = clean($_POST['domen']);
$to = "orders@domain.com";
$subject = 'Сообщение через форму обратной связи сайта '. $domen; //Заголовок сообщения
$message = '
<html>
<head>
<title>'. $subject .'</title>
<style>
strong { font-size: 1.2em; }
p { font-family: "Open Sans", sans-serif, Arial; }
</style>
</head>
<body>
<p><strong>Имя:</strong> '. $name .'</p>
<p><strong>Email:</strong> '. $email .'</p>
<p><strong>Сообщение:</strong> <pre>'. $text .'</pre></p>
</body>
</html>'; //Текст сообщения
$headers = 'From: Support Team <support@server.com>' . "\r\n" .
'Reply-To: support@server.com' . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-Type: text/html; charset=utf-8' . "\r\n" .
'Content-Transfer-Encoding: quoted-printable';
mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
Сделайте скрытое поле для каждой формы и проверяйте его значение, в зависимости от значения, меняйте email.
Все email у Вас должны быть зарегистрированы!!! я про: orders@domain.com.....