$('#msgbutton').click(function(){ var name = $('#idname').val(); // фиктивные var phone = $('#idphone').val(); // фиктивные var rn = $('#idrn').val(); // имя var ph = $('#idph').val(); // имя var em = $('#idem').val(); var msg = $('#idmsg').val(); var params = "name=" + name + "&phone=" + phone + "&rn=" + rn+ "&ph=" + ph+ "&em=" + em + "&msg=" + msg; $.ajax({ type: "POST", url: "smail.html", data: params, success: function(data){ if(data) { $('#errmsg').html(data); $('#errmsg').css({ 'display': "block" }); } else { // пустое сообщение - без ошибки window.location.href = "/zayavka-prinyata.html"; } } }); });
<?php if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {return;} $fictive_name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_SPECIAL_CHARS ); $fictive_phone = filter_input(INPUT_POST, 'phone', FILTER_SANITIZE_SPECIAL_CHARS ); if( !empty($fictive_name) || !empty($fictive_phone)) return 'Странно...'; $name = filter_input(INPUT_POST, 'rn', FILTER_SANITIZE_SPECIAL_CHARS ); $email = filter_input(INPUT_POST, 'em', FILTER_SANITIZE_EMAIL ); $msg = filter_input(INPUT_POST, 'msg', FILTER_SANITIZE_SPECIAL_CHARS ); $phone = filter_input(INPUT_POST, 'ph', FILTER_SANITIZE_SPECIAL_CHARS ); if(empty($name)) return 'Как к Вам обращаться? Укажите, пожалуйста, Ваше имя.'; if(empty($phone)&&empty($email)) return 'Как с Вами связаться? Укажите, пожалуйста, телефон или электронную почту.'; if(empty($msg)) return 'Чем мы могли бы вам быть полезны? Заполните, пожалуйста, поле с сообщением.'; $config = $modx->getConfig(); $recepient=$config['send_mail_to']; $bodytext = <<<EOD <style type="text/css"> .white-plushka { background: #ffffff; border: 1px solid #ff515d; border-radius: 6px; padding: 20px 30px; width: 600px; } h3 { font-weight: 900; font-size: 18px; line-height: 1; margin-bottom: 18px; margin-top: 18px; color: #ff515d; } .bodytext p,td { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 15px; margin-top: 0em; margin-bottom: 0em; } .bodytext table { background: #fff; border: 0; } </style> <div class="white-plushka"> <div class="bodytext"> <h3>Заявка с сайта ...</h3> <br/> <table> <tr><td>Имя:</td><td><strong> $name </strong></td></tr> <tr><td>Телефон:</td><td><strong> $phone </strong></td></tr> <tr><td>Email:</td><td><strong> $email </strong></td></tr> <tr><td>Сообщение:</td><td><strong> $msg </strong></td></tr> </table> <br/> </div> </div> EOD; $modx->getService('mail', 'mail.modPHPMailer'); $modx->mail->set(modMail::MAIL_BODY,$bodytext); $modx->mail->set(modMail::MAIL_FROM,$email); $modx->mail->set(modMail::MAIL_FROM_NAME,$name); $modx->mail->set(modMail::MAIL_SUBJECT,'Сайт: ....ru'); $modx->mail->address('to',$recepient); $modx->mail->setHTML(true); if (!$modx->mail->send()) { return 'Не могу отправить сообщение: '.$modx->mail->mailer->ErrorInfo; } else { $modx->mail->reset(); return ''; // успешно }