Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wysyłanie emaili php
Forum PHP.pl > Forum > Przedszkole
Maciek1705
witam serdecznie mam pytanie odnośnie skryptu takiego:
  1. <?php
  2. session_name("sendmail");
  3.  
  4. require "PHPMailer_v5.1/class.phpmailer.php"; //dołączenie klasy
  5. $emailAddress = 'maciej@pp.pl'; //adres do kogo wysłać
  6. $msg='Name: '.$_POST['name'].'<br />Email: '.$_POST['email'].'<br />IP:'.$_SERVER['REMOTE_ADDR'].'<br /><br />Message:<br /><br />'.nl2br($_POST['message']).'';
  7.  
  8. $mail = new PHPMailer();
  9. $mail->IsMail();
  10. $mail->AddReplyTo($_POST['email'], $_POST['name']); //dane z formularza email i imie nadawcy
  11. $mail->AddAddress($emailAddress);
  12. $mail->SetFrom($_POST['email'], $_POST['name']);
  13. $mail->Subject = "A new ".mb_strtolower($_POST['subject'])." from ".$_POST['name']." | contact form.";
  14. $mail->MsgHTML($msg);
  15. $mail->Send();
  16.  
  17. if(jaki warunek?questionmark.gif){
  18. $_SESSION['sendit']=1;
  19. }
  20. else{
  21. $_SESSION['sendit']=0;
  22. }


chciałem się zapytać jaki warunek napisać że wiadomość została wysłana. To znaczy używam klasy phpmailer chce wysłać za jej pomocą wiadomość ze strony (bez jakiegoś logowania na o2 itp) normalne wysyłanie. Chciałem zrobić taki haczyk że jeżeli wiadomość zostanie wysłana to zostanie stworzona zmienna sesyjna dzięki której jeśli wartość będzie równa 1 to formularz kontaktowy nie bedzie widoczny, takie zabezpieczenie żeby nie wysyłać po 10 wiadomości. Aha i jeszcze takie pytanie czy skrypt będzie działał na lokalnym serwerze (podejrzewam że nie ale warto zapytać)? Co sądzicie o takim zabezpieczeniu? Co byście zmienili?
bastard13
Sprawdzenie, czy został wyslany:
  1. if($mail->Send())
  2. {
  3. echo 'E-mail został wysłany';
  4. }
  5. else
  6. {
  7. echo 'E-mail nie mógł zostać wysłany, przyczyna :'. $mail->ErrorInfo;
  8. }

A tutaj wysyłanie maila na localhoście:
http://www.phpeasystep.com/phptu/23.html
http://www.programmingfacts.com/send-email...hostxampp-wamp/
http://www.designend.net/blog-webmastera,w...t-xampp-mercury
Maciek1705
a co myślisz o zabezpieczeniu przed kilkukrotnym wysyłanie wiadomości na sesji może tak być będzie działać?
bastard13
Wydaje mi się, że niepotrzebne jest ukrywanie formularzu. Możesz po wysłaniu wiadomości utworzyć zmienną sesyjną z aktualną wartością time() i jeżeli użytkownik spróbuje wysłać wiadomość, to pozwól mu na to, ale np. po upływie 30 sekund, ponieważ czasami jest potrzeba wysłania większej ilości wiadomości, a opóźnienie to już jakieś zabezpieczenie przed botami, które nie powinno denerwować użytkownika (niewielu jest takich, którzy zdążą napisać kolejną wiadomość w ciągu 30 sekund:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.