Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> phpMailer - nie działa wysyłanie maila
Cadi2108
post 14.06.2012, 22:05:48
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Witam!

Oto mój formularz

  1. <form method="post" name="kontakt" action="send_mail.php">
  2. <fieldset class="formularz_kontaktowy">
  3. <legend>Formularz kontaktowy</legend>
  4. <div><label id="lblStatus"></label></div>
  5. <div><input type="text" name="txtName" title="Imię i nazwisko" id="txtName" class="text"></div>
  6. <div><input type="text" name="txtEmail" title="Email" id="txtEmail" class="text"></div>
  7. <div><input type="text" name="txtTitle" title="Tytuł" id="txtTitle" class="text"></div>
  8. <div><textarea cols="30" rows="10" name="txtMessage" id="txtMessage" class="text" title="Treść wiadomości"></textarea></div>
  9. <input type="submit" value="Wyślij">
  10. </form>


A tutaj plik send_mail.php

  1. <?php
  2. require_once('phpmailer/class.phpmailer.php');
  3. $mail = new PHPMailer(true);
  4.  
  5. $mail->PluginDir = "phpmailer/";
  6. $mail->IsSMTP();
  7. $mail->SMTPAuth = true; // enable SMTP authentication
  8. $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
  9. $mail->Host = "smtp.gmail.com";
  10. $mail->Port = 465;
  11. $mail->Username = "xxx@gmail.com";
  12. $mail->Password = "xxxxx";
  13.  
  14. $mail->SetFrom('xxx@gmail.com', 'Nasze imie i nazwisko');
  15.  
  16. $mail->AddAddress("email@adresata.pl"); // ADRESAT
  17.  
  18. $mail->Subject = 'To jest wiadomość testowa. Sprawdzam czcionki!';
  19.  
  20. // w zmienną $text_body wpisujemy treść maila
  21. $text_body = "Cześć, chyba phpMailer działa \n\n";
  22. $text_body .= "Na zawsze Twój, \n";
  23. $text_body .= "PHPMailer";
  24.  
  25. $mail->Body = $text_body;
  26.  
  27. if(!$mail->Send())
  28. echo "There has been a mail error <br>";
  29. echo $mail->ErrorInfo."<br>";
  30.  
  31. // Clear all addresses and attachments
  32. $mail->ClearAddresses();
  33. $mail->ClearAttachments();
  34. echo "mail sent <br>";
  35. ?>


Jak widać, jeszcze nic z formularza nie jest pobierane, wszystko jest wpisane na sztywno. Login i hasło są na pewno poprawne. Niestety, po naciśnięciu przycisku wysyłającego formularz pojawia się na pasku url localhost/send_mail.php i pusta strona, ani komunikat o błędzie ani nic. Mail oczywiście nie dochodzi. Ma ktoś może pomysł, jaka może być przyczyna?

Serdecznie pozdrawiam,
Dagna

Ten post edytował Cadi2108 15.06.2012, 09:35:31
Go to the top of the page
+Quote Post
nospor
post 15.06.2012, 07:19:03
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Skoro masz pustą stronę, znaczy że masz PARSE ERROR/FATAL ERROR lub coś podobnego. Włącz w php.ini wyświetlanie wszystkich błędów


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Cadi2108
post 15.06.2012, 10:13:44
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Dziękuję za odpowiedź!

Mam następujący komunikat o błędzie:

Fatal error: Uncaught exception 'phpmailerException' with message 'SMTP Error: Could not connect to SMTP host.' in /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php:705 Stack trace: #0 /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php(613): PHPMailer->SmtpConnect() #1 /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php(516): PHPMailer->SmtpSend('Date: Fri, 15 J...', 'Cze?questionmark.gif?, chyba ...') #2 /export/w3home/w3biocon/public_html/send_mail.php(29): PHPMailer->Send() #3 {main} thrown in /export/w3home/w3biocon/public_html/phpmailer/class.phpmailer.php on line 705

Czemu nie chce się połączyć z smtp gmaila? sad.gif Ten kod wzięłam stąd http://www.paweldanielewski.pl/phpmailer-i...ez-smtp-gmaila/ i podobno tu działa.

Tu jest link do php.info
http://bioconference.wnb.uz.zgora.pl/phpinfo.php

Ten post edytował Cadi2108 15.06.2012, 10:36:06
Go to the top of the page
+Quote Post
czachor
post 15.06.2012, 10:38:24
Post #4





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Której wersji phpmailera używasz? W paczce jest działający przykład z gmailem.


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
Cadi2108
post 15.06.2012, 11:38:31
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 12.04.2010

Ostrzeżenie: (0%)
-----


Dziękuję, już działa smile.gif

http://stackoverflow.com/questions/1104723...-with-phpmailer
Go to the top of the page
+Quote Post
r3b
post 1.10.2012, 23:34:03
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 1.10.2012

Ostrzeżenie: (0%)
-----


Witam,

próbował ktoś wysyłać formularz z poczty home.pl?

Większość osób wysyła je przez przez gmaila - ja też robiłem tak na innych stronach ale klient ma serwer w Niemczech. Wydaje mi się, że to jest powód bo identyczny kod działa mi na kilku innych stronach na serwerze w Polsce. Sądzę, że gmail przy próbie logowania z innego kraju prosi o dodatkowa autentyfikację (podanie nr. tel lub innego maila) i dlatego pojawił się problem.

Dostaje taki komunikat:
Błąd SMTP: Nie moĹźna przeprowadzić autentykacji. Błąd wysyłania: Błąd SMTP: Nie moĹźna przeprowadzić autentykacji.

Podaję kod - ale jest przetestowany i działa na innych serwerach:

  1. <?php
  2. // jesli formularz został zgłoszony - przetwarzamy go
  3. if ($_POST['wyslij']) {
  4.  
  5. if ( !$_POST['tresc'] OR !$_POST['podpis'] OR !$_POST['email'] ) { echo "Błąd. Puste pola!"; break; }// coś poszło nie tak
  6.  
  7. $tresc = $_POST['tresc'];
  8. $podpis = $_POST['podpis'];
  9. $email = $_POST['email'];
  10.  
  11. $adresat = "adrest@domena.pl";
  12.  
  13.  
  14. $dozwolone_adresy = "adrest@domena.pl";
  15. if (strpos($dozwolone_adresy,$adresat)===false) { echo "Niedozwolony adresat! $adresat"; break; }
  16.  
  17.  
  18. // utnij zbyt długą treść i podpis
  19. if ( strlen($tresc) > 2000 ) $tresc = substr($tresc, 0, 2000);
  20. if ( strlen($podpis) > 40 ) $podpis = substr($podpis, 0, 40);
  21. if ( strlen($email) > 60 ) $email = substr($email, 0, 60);
  22.  
  23. if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)) { echo "Niepoprawny adres email!"; break; }
  24.  
  25.  
  26.  
  27.  
  28. require_once('phpmailerx/class.phpmailer.php');
  29.  
  30. $mail = new PHPMailer();
  31. $mail->IsSMTP(); // send via SMTP
  32. $mail->SMTPAuth = true; // turn on SMTP authentication
  33. $mail->Host = "smtp.gmail.com";
  34. $mail->Port = 465;
  35. $mail->Mailer= "smtp";
  36. $mail->Username = "mail@gmail.com"; // SMTP username
  37. $mail->Password = "haslo"; // SMTP password
  38. $mail->AddReplyTo ($email, $podpis);
  39. $mail->From = $email;
  40. $mail->FromName = $podpis;
  41. $mail->Subject = "Ze strony od: $podpis";
  42. $mail->Body = $tresc;
  43. $mail->WordWrap = 50;
  44. $mail->AddAddress ($adresat);
  45. // $mail->IsHTML (true);
  46. $mail->SetLanguage("pl", "phpmailerx/language/");
  47. $mail->CharSet = 'utf-8';
  48.  
  49. if(!$mail->Send())
  50. { echo "Błąd wysyłania: " . $mail->ErrorInfo; }
  51. else
  52. { echo "Wiadomość została wysłana."; }
  53.  
  54. }
  55.  
  56.  
  57. else
  58. {
  59. ?>
  60.  
  61.  
  62. <form action="kontakt.php" method="post" name="formularz_kontaktowy">
  63. <textarea style="width:260px; height: 160px; " name="tresc" ></textarea><br /><br />
  64.  
  65.  
  66. <br />
  67.  
  68. <label for="podpis">Imię i Nazwisko: </label>
  69. <input id="podpis" type="text" name="podpis" /><br /><br />
  70.  
  71. <label for="email" >Email: </label>
  72. <input id="email" type="text" name="email" /><br /><br />
  73.  
  74. <input class="wysylacz" type="submit" name="wyslij" value="Wyślij" />
  75. </form>
  76.  
  77.  
  78. <?php } ?>


Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 21:08