Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка писем с сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
deadtoworld
Отправлено: 12 Декабря, 2016 - 09:10:44
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2016  


Помог: 0 раз(а)




Всем привет! Который день бьюсь над проблемой, которая для меня стала гигантской!
Не получается настроить отправку писем с сайта на почтовый ящик.
Пробую все сделать на локальном сервере MAMP на Mac OS.
Когда запускаю через localhost/ файлы .php , то не получается протестировать работоспособность страницы. И форма не проверяется заполнена ли или нет, и письма не уходят,и страницы с ошибками выбивает.

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="post.php" method="POST">
  3.         <input type="email" name="email" placeholder="Ваш email..." size="40" required>
  4.         <input type="submit" value="Скачать!">
  5. </form>
  6.  


PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $adminemail="mymail@gmail.com";
  4. $date=date("d.m.y");
  5. $time=date("H:i");
  6. $backurl="http://site.ru/success.html";  
  7. $msg="Заявка на скачивание";
  8. //---------------------------------------------------------------------- //
  9.  
  10. $email=$_POST['email'];
  11.  
  12. if (!preg_match("|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is",
  13. strtolower($email)))
  14.  {
  15.  echo "<center>Вернитесь <a href='javascript:history.back(1)'><B>назад</B></a>. Вы указали неверные данные!";
  16.  } else {
  17.  $msg="
  18. <p>E-mail: $email</p>  
  19. ";
  20.  
  21. mail("$adminemail", "$date $time Сообщение от $email", "$msg");
  22.  
  23. print "<script language='Javascript'><!--
  24. function reload() {location = \"$backurl\"}; setTimeout('reload()', 6000);
  25. //--></script>
  26.  
  27. $msg
  28. <p>Заявка отправлена! Проверьте свой почтовый ящик</p>";  
  29.  }
  30. ?>
  31.  
 
 Top
Heavenanvil
Отправлено: 16 Декабря, 2016 - 09:01:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 183
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Попробуйте вот так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $adminemail="mymail@gmail.com";
  3. $date=date("d.m.y");
  4. $time=date("H:i");
  5. $backurl="http://site.ru/success.html";  
  6. $msg="Заявка на скачивание";
  7. $headers= "MIME-Version: 1.0\r\n";
  8. $headers .='Content-Type: text/html; charset="utf-8"'."\n";
  9. //---------------------------------------------------------------------- //
  10.  
  11. $email=$_POST['email'];
  12.  
  13. if (!preg_match("|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is",
  14. strtolower($email)))
  15.  {
  16.  echo "<center>Вернитесь <a href='javascript:history.back(1)'><B>назад</B></a>. Вы указали неверные данные!";
  17.  } else {
  18.  $msg="$email;
  19.  
  20. mail($adminemail, $msg, "Заявка на скачивание от ".$email."<br>".$date."<br>".$time, $headers);
  21.  
  22. print "<script language='Javascript'><!--
  23. function reload() {location = \"$backurl\"}; setTimeout('reload()', 6000);
  24. //--></script>
  25.  
  26. $msg
  27. <p>Заявка отправлена! Проверьте свой почтовый ящик</p>";  
  28.  }
  29. ?>

Обратите внимание на $headers, $msg и функцию mail
Но помните, что частенько письма, созданные через php попадают в спам.

У меня этот код работает. Но на хостинге, локально не проверял.

(Отредактировано автором: 16 Декабря, 2016 - 09:31:02)

 
 Top
broshurkaplus
Отправлено: 21 Декабря, 2016 - 11:15:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


Помог: 2 раз(а)




быть может по настройкам локальный сервер складывает отправляемые письма в какую-либо папку на компе?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB