Форумы портала PHP.SU » » Вопросы новичков » Почему то неработает :)

Страниц (1): [1]
 

1. imdesgr - 24 Мая, 2019 - 16:46:50 - перейти к сообщению
Добрый день. Прошу помочь чайнику, в чем ошибка кода. есть файл php с кодом отправки из формы на электронный адрес. форма рабочая, все норм. а письмо не приходит и в спам тоже.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. if(!$_POST) exit;
  4.  
  5. // Email address verification, do not edit.
  6. function isEmail($email) {
  7.         return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email));
  8. }
  9.  
  10. if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
  11.  
  12. $name     = $_POST['name'];
  13. $email    = $_POST['email'];
  14. $phone   = $_POST['phone'];
  15. $subject  = $_POST['subject'];
  16. $comments = $_POST['comments'];
  17. $verify   = $_POST['verify'];
  18.  
  19. if(trim($name) == '') {
  20.         echo '<div class="error_message">Введите сво Имя</div>';
  21.         exit();
  22. } else if(trim($email) == '') {
  23.         echo '<div class="error_message">Напишите пожалуйста ваш email</div>';
  24.         exit();
  25. } else if(trim($phone) == '') {
  26.         echo '<div class="error_message">Возможно вы забыли написать Ваш телефон</div>';
  27.         exit();
  28. } else if(!is_numeric($phone)) {
  29.         echo '<div class="error_message">Мы не научились звонить на буквы ;) Телефон должен быть из цифр</div>';
  30.         exit();
  31. } else if(!isEmail($email)) {
  32.         echo '<div class="error_message">Ваш Email что-то не проходит нашу службу безопасности :( </div>';
  33.         exit();
  34. }
  35.  
  36. if(trim($subject) == '') {
  37.         echo '<div class="error_message">Нам нужно знать какая тема вашего вопроса - выбирите из списка "Вопрос"</div>';
  38.         exit();
  39. } else if(trim($comments) == '') {
  40.         echo '<div class="error_message">А вы точно что-то печатали в поле "Ваше сообщение"?) </div>';
  41.         exit();
  42. } else if(!isset($verify) || trim($verify) == '') {
  43.         echo '<div class="error_message">Ответьте на нашу скромную Кааапчууу :) </div>';
  44.         exit();
  45. } else if(trim($verify) != '7') {
  46.         echo '<div class="error_message">  эй, а с математикой все норм у Вас?) </div>';
  47.         exit();
  48. }
  49.  
  50.         $comments = stripslashes($comments);
  51. }
  52.  
  53.  
  54. // Configuration option.
  55. // Enter the email address that you want to emails to be sent to.
  56. // Example $address = "joe.doe@yourdomain.com";
  57.  
  58. //$address = "example@themeforest.net";
  59. $address = "info@imdes.ru";
  60.  
  61.  
  62. // Configuration option.
  63. // i.e. The standard subject will appear as, "You've been contacted by John Doe."
  64.  
  65. // Example, $e_subject = '$name . ' has contacted you via Your Website.';
  66.  
  67. $e_subject = 'You\'ve been contacted by ' . $name . '.';
  68.  
  69.  
  70. // Configuration option.
  71. // You can change this if you feel that you need to.
  72. // Developers, you may wish to add more fields to the form, in which case you must be sure to add them here.
  73.  
  74. $e_body = "You have been contacted by $name with regards to $subject, their additional message is as follows." . PHP_EOL . PHP_EOL;
  75. $e_content = "\"$comments\"" . PHP_EOL . PHP_EOL;
  76. $e_reply = "You can contact $name via email, $email or via phone $phone";
  77.  
  78. $msg = wordwrap( $e_body . $e_content . $e_reply, 70 );
  79.  
  80. $headers = "From: $email" . PHP_EOL;
  81. $headers .= "Reply-To: $email" . PHP_EOL;
  82. $headers .= "MIME-Version: 1.0" . PHP_EOL;
  83. $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL;
  84. $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;
  85.  
  86. if(mail($address, $e_subject, $msg, $headers)) {
  87.  
  88.         // Email has sent successfully, echo a success page.
  89.  
  90.         echo "<fieldset>";
  91.         echo "<div id='success_page'>";
  92.         echo "<h1>Email Sent Successfully.</h1>";
  93.         echo "<p>Спасибо <strong>$name</strong>, Ваше сообщение было отправлено!</p>";
  94.         echo "</div>";
  95.         echo "</fieldset>";
  96.  
  97. } else {
  98.  
  99.         echo 'ERROR!';
  100.  
  101. }


БУДУ БЕЗМЕРНО БЛАГОДАРЕН!
2. RomAndry - 24 Мая, 2019 - 16:47:48 - перейти к сообщению
А почему создали тему в КОРЗИНЕ?
3. imdesgr - 24 Мая, 2019 - 16:49:36 - перейти к сообщению
RomAndry пишет:
А почему создали тему в КОРЗИНЕ?


Новичок на вашем портале опасаюсь нарушить правила... Прошу прощения. Если нарушил Однако
4. miketomlin - 25 Мая, 2019 - 12:41:08 - перейти к сообщению
Нефиг email с формы во From пихать, да и др. данные тоже без должного контроля.

Разделение заголовков при помощи PHP_EOL – это оч. печально. Нужно спеки читать, а не копипастить ХЗ какой код.

 

Powered by ExBB FM 1.0 RC1