Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHPMAILER już nie mam siły POMOCY !
Forum PHP.pl > Forum > PHP
bilbo274
Witam wszystkich chcących mi ewentualnie udzielić pomocy. Mianowicie chodzi mi jak w tytule o tegoż wspaniałego PhpMailer'a a dokładniej o jego instalację na serwerze i implementację w kod który wcześniej działał tylko tyle że na home.pl. Przeczytałem wiele ale uwierzcie mi dostałem jakiejś zaćmy i od trzech dni nic nie ruszyłem z tematem.

Formularz znajduje się na stronie www.lobodesign.pl, natomiast kod jak niżej:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">

<head>
<link rel="shortcut icon" href="bartek.ico">
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<title>Lobodesign-kontakt</title>
<meta http-equiv="Content-language" content="pl" />
<meta name="Description" content="Lobodesign" />
<meta name="Keywords" content="projektowanie Katarzyna Gidzewicz-Kulesza, wnętrz, wnetrz, architektura, Gidzewicz, Kulesza, Bartosz Kulesza, Kulesza szafy" />
<meta name="Robots" content="all" />
<meta http-equiv="Pragma" content="no-cache" />
<meta name="author" content="Bartosz Kulesza" />
<meta name="copyright" content="&copy; 2009 Lobodesign" />
<link rel="Stylesheet" type="text/css" href="style.css" />

<script type="text/javascript" src="js/prototype.js"></script> <!-- do lightbox-a -->
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
</head>

<body>
<div id="wrap">

<!-- tutaj masz logo i menu -->
<div id="top">
<div id="logo2">
<a href="index.htm"><img class="noborder" src="gfx/logo.png" alt="Logo" /></a>
</div>

<div id="menu">
<a href="index.htm">strona główna</a>
<a href="onas.htm">o nas</a>
<a href="galeria.htm">galeria</a>
<a href="projektowanie.htm">jak projektujemy</a>
<a href="kontakt.php">kontakt</a>
</div>

</div>

<!-- tutaj masz koniec tego logo i menu -->
<!-- glowna grafika -->
<div id="dupapodstrona2">
<div id="kontaktfor">
<div id="menu1">
<p>
<b>Katarzyna Gidzewicz - Kulesza</b><br />
<b>tel.:</b> 790 011 212<br />
<b>e-mail:</b> <a href="mailto:k.g.kulesza@gmail.com">k.g.kulesza@gm ail.com</a>
</p>

<p>
<b>Bartosz Kulesza</b><br />
<b>tel.:</b> 790 011 222<br />

<b>e-mail:</b> <a href="mailto:herkulesz77@gmail.com">herkulesz77@gm ail.com</a>
</p>

</div>
</div>
<div id="kontaktfor1">
<h2>Formularz kontaktowy:</h2>
<?php
// sprawdzamy, czy zmienna $submit jest pusta
if (empty($_POST['submit'])) {
// wyświetlamy formularz
echo "<table border=\"0\"><form method=\"post\">


<tr>
<td>Imię *</td>
<td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
</tr>

<tr>
<td>Adres e-mail *</td>
<td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
</tr>

<tr>
<td>Telefon:</td>
<td><input type=\"text\" name=\"telefon\" style=\"width: 250px\"></td>
</tr>

<tr>
<td>Miasto:</td>
<td><input type=\"text\" name=\"miasto\" style=\"width: 250px\"></td>
</tr>

<tr>
<td>Pytania: *</td>
<td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
</tr>

<tr>
<td>Najlepszy czas na kontakt oraz forma kontaktu</td>
<td><input type=\"text\" name=\"kontakt\" style=\"width: 250px\"></td>
</tr>

<tr>
<td>&nbsp;</td>
<td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
<input type=\"reset\" value=\"Od nowa\"></td></form>
</tr>
</table>";
}
// sprawdzamy, czy zmienne przesłane z formularza nie są puste
elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
// jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
// zmienna $message zawiera treść wiadomości
$message = "Pytanie:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[telefon]\nMiasto: $_POST[miasto]\nKiedy-kontakt: $_POST[kontakt]";
// zmienna $header zawiera przede wszystkim adres zwrotny
$header = "From: $_POST[imie] <$_POST[email]>";
// funkcja mail() za pomocą której wiadomość zostanie wysłana
@mail("herkulesz77@gmail.com","Wiadomosc ze strony LOBODESIGN","$message","$header")
or die('Nie udało się wysłać wiadomości');
// wyświetlenie komunikatu w przypadku powodzenia
echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
}
// lub w przypadku nie wypełnienia formularza do końca
else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wymagane pola formularza!
<tr>
<input type=\"button\" value=\"Powrót\" onclick=\"javascipt:history.back()\">
</tr></span>";

?>

</div>
</div>


<!-- koniec glownej grafiki-->

<!-- footer -->
<div id="footer3">
<a href="index.htm">strona główna</a>
<a href="onas.htm">o nas</a>
<a href="galeria.htm">galeria</a>
<a href="projektowanie.htm">jak projektujemy</a>
<a href="kontakt.php">kontakt</a>
<a>FOTOBRZUSZKI</a>
<a>FOTOWAVE</a>
<a href="http://www.grabski-art.pl"target="_blank">GRABSKI-ART</a>
<!-- koniec footera -->
</div>
</body>
</html>

ZNALAZŁEM COŚ TAKIEGO: rozumiem że są to przede wszystkim główne ustawienia, ale gdzie tego użyć i jak - nie wiem help me...: Jak go przypisać do submita w formularzu?
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "herkulesz77@gmail.com"; //adres naszego konta
$mail->FromName = "naglowek wiadomosci";//nagłówek From
$mail->Host = "smtp.gmail.com";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "herkulesz77";//nazwa użytkownika
$mail->Password = "*******";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("pl", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("kolega@gdziestam.com","Kolega");


if(!$mail->Send())
echo "There has been a mail error <br>";
echo $mail->ErrorInfo."<br>";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent <br>";
bartek6949
Uzywaj kodowania
Prawdopodobnie nie dziala dlatego ze wykorzystujesz funkcje mail() ktora nie na wszystkich serverach dziala.
classe phpmail stosujemy według przykladu
  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4. // wyświetlamy formularz
  5. echo "<table border=\"0\"><form method=\"post\">
  6.  
  7.  
  8. <tr>
  9. <td>Imię *</td>
  10. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  11. </tr>
  12.  
  13. <tr>
  14. <td>Adres e-mail *</td>
  15. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  16. </tr>
  17.  
  18. <tr>
  19. <td>Telefon:</td>
  20. <td><input type=\"text\" name=\"telefon\" style=\"width: 250px\"></td>
  21. </tr>
  22.  
  23. <tr>
  24. <td>Miasto:</td>
  25. <td><input type=\"text\" name=\"miasto\" style=\"width: 250px\"></td>
  26. </tr>
  27.  
  28. <tr>
  29. <td>Pytania: *</td>
  30. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td>Najlepszy czas na kontakt oraz forma kontaktu</td>
  35. <td><input type=\"text\" name=\"kontakt\" style=\"width: 250px\"></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td>&nbsp;</td>
  40. <td><input type=\"submit\" name=\"submit\" value=\"Wyślij\">&nbsp;
  41. <input type=\"reset\" value=\"Od nowa\"></td></form>
  42. </tr>
  43. </table>";
  44. }
  45. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  46. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  47. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  48. // zmienna $message zawiera treść wiadomości
  49. $message = "Pytanie:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[telefon]\nMiasto: $_POST[miasto]\nKiedy-kontakt: $_POST[kontakt]";
  50. // zmienna $header zawiera przede wszystkim adres zwrotny
  51. $header = "From: $_POST[imie] <$_POST[email]>";
  52. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  53. require("class.phpmailer.php");
  54. $mail = new PHPMailer();
  55.  
  56. $mail->PluginDir = "phpmailer/";
  57. $mail->From = "herkulesz77@gmail.com"; //adres naszego konta
  58. $mail->FromName = "naglowek wiadomosci";//nagłówek From
  59. $mail->Host = "smtp.gmail.com";//adres serwera SMTP
  60. $mail->Mailer = "smtp";
  61. $mail->Username = "herkulesz77";//nazwa użytkownika
  62. $mail->Password = "*******";//nasze hasło do konta SMTP
  63. $mail->SMTPAuth = true;
  64. $mail->SetLanguage("pl", "phpmailer/language/");
  65.  
  66. $mail->Subject = "Mail testowy";//temat maila
  67.  
  68. // w zmienną $text_body wpisujemy treść maila
  69. $text_body = "Cześć, chyba phpMailer działa \n\n";
  70. $text_body .= "Na zawsze Twój, \n";
  71. $text_body .= "PHPMailer";
  72.  
  73. $mail->Body = $text_body;
  74. // adresatów dodajemy poprzez metode 'AddAddress'
  75. $mail->AddAddress("kolega@gdziestam.com","Kolega");
  76.  
  77.  
  78. if(!$mail->Send())
  79. echo "There has been a mail error <br>";
  80. echo $mail->ErrorInfo."<br>";
  81.  
  82. // Clear all addresses and attachments
  83. $mail->ClearAddresses();
  84. $mail->ClearAttachments();
  85. echo "mail sent <br>";
  86. // wyświetlenie komunikatu w przypadku powodzenia
  87. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  88. }
  89. // lub w przypadku nie wypełnienia formularza do końca
  90. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wymagane pola formularza!
  91. <tr>
  92. <input type=\"button\" value=\"Powrót\" onclick=\"javascipt:history.back()\">
  93. </tr></span>";
  94.  
  95. ?>
bilbo274
Zrobiłem jak mi napisałeś dziękuję bardzo.

Niestety najpierw zwracał mi nagłówek w postaci FORMULARZ KONTAKTOWY - mail nie wyszedł
natomiast jak zamiast
require("class.phpmailer.php");
zrobiłem
require("phpmailer/class.phpmailer.php");
zwrócił

Formularz kontaktowy:
B��d SMTP: Nie moşna przeprowadzi� autentykacji. There has been a mail error
B��d SMTP: Nie moşna przeprowadzi� autentykacji.
mail sent
Wiadomość została wysłana poprawnie!

Wyrażam zgodę na przetwarzanie moich danych osobowych przez Lobodesign, zgodnie z Ustawą z dn. 29/08/1997 o ochronie danych osobowych, Dziennik Ustaw nr 133 pozycja 883.
wstydnis.gif

Jeszcze jedna uwaga
FUNKCJĘ MAIL() mam zablokowaną na tym serwerze.
Na serwerze home.pl gdzie testowałem stronkę chodziło jak należy.
O co chodzi. Od 3 dni kombinuję.
bartek6949
wiem ze z gmailem sa jakies problemy ale niestety nie potrafie ci pomoc poszukaj cos na temat gmail phpmailer
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.