Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Mail ze strony
Forum PHP.pl > Forum > Przedszkole
Stron: 1, 2
viking
Nie umiesz wejść w dokumentację, nacisnąć kombinację klawiszy ctrl+f utf-8 i skopiować do siebie? Czy może nie umiesz wejść w dokumentację, nacisnąć kombinację klawiszy ctrl+f mb_ i kliknąć w link? Czy może jesteś zwykłym leniem jak na to z tej strony spojrzeć? I dlaczego pomyślałaś w ogóle żeby w 2020 tworzyć stronę w iso?
david8213
Gdybym się na tym znał tak jak ty to bym nie pytał. Widzę w google że nie tylko ja mam z tym problem

index.php
  1. <form method="post" action="s.php"><br />imię:<br />
  2. <input type="text" maxlength="20" name="imie" /><br />telefon:<br />
  3. <input type="text" maxlength="20" name="telefon" /><br />email:<br />
  4. <input type="text" maxlength="30" name="email" /><br />Treść:<br />
  5. <input type="text" maxlength="60" name="tresc" /><br />
  6. <input type="submit" value="Wyslij" />
  7. </form>


s.php
  1. <?PHP
  2. $admin_email = "mojmail@poczta.fm";
  3. $title = "Email ze strony";
  4. $tresc = "<b>imie:</b> " . $_POST['imie'] . "\r\n\r\n";
  5. $tresc .= "<b>telefon:</b> " . $_POST['telefon'] . "\r\n\r\n";
  6. $tresc .= "<b>email:</b> " . $_POST['email'] . "\r\n\r\n";
  7. $tresc .= "<b>tresc: </b>" . $_POST['tresc'] . "\r\n";
  8. $header = 'MIME-Version: 1.0' . "\r\n";
  9. $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
  10. $header .= 'From: ' . $admin_email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  11. if (mail($admin_email, $title, $tresc, $header))
  12. echo '<center><br><br><p>Wysłano wiadomość.......</p>';
  13. else
  14. echo '<center><br><br><p><b>NIE</b> wysłano maila!</p>';
  15. ?>


Tak wygląda pełna strona
Nie działa ani kodowanie polskich znaków ani kod html w formatowaniu tekstu wysłanego mailem

Jak nie użyję polskich znaków w formularzu to mail zostanie wysłany i dostarczony
Natomiast jak użyję polskiego znaku to email nawet nie zootaje wysłany

Serwer jest na prv.pl [wordpress] a email na poczta.interia.pl
viking
Bo widać nie tylko ty masz problem z czytaniem. Ile razy można powtarzać że wielobytowe znaki masz wysyłać odpowiednią funkcją mb_ ? Specjalnie się uparłem żeby jej tu nie podać bo widać że ci się nie chce spojrzeć do manuala.

Poprawną praktyką jest też ustawienie odpowiedniego content-type dla strony przez funkcję header.
david8213
Zle piszesz. nawet nie wiem gdzie tego szukać. To że ty w tym siedzisz to nie znaczy ze inni potrafią. ja dopiero zaczynam.


  1. header('Content-Type: text/html; charset=UTF-8');


czy na górze strony trzeba dodać kodowanie: questionmark.gif

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Gdy dodałem tą linijkę to wysyła juz maile z polskimi znakami ale wyświetla krzaki w odebranym mailu
viking
Jest taka strona php.net. tam jest dokumentacja php. Albo kliknij przez forum na podswietloną funkcję mail. Voila.
david8213
znalazłem coś takiego

  1. $headers = "Mime-Version: 1.0\n";
  2. $headers .= "Content-Type: text/plain;charset=UTF-8\n";
  3. $headers .= "From: $sender";
  4.  
  5. mb_internal_encoding("UTF-8");


Jak tego użyć
viking
To nie to. Szukaj dalej. Masz znaleźć jedną funkcję która jest wymieniona przy mail i przez nią zastąpić mail.
david8213
imap-mail ?

myślałem żeby jeszcze dodać accept-charset="utf-8". Pomogło na tyle ze chociaż wysyła maila ale z krzaczkami zamiast polskich znaków
Bez tego w ogóle nie wyslało

  1. <form method="post" action="return.php" accept-charset="utf-8"><br />imię:<br />
  2. <input type="text" maxlength="20" name="imie" /><br />telefon:<br />
  3. <input type="text" maxlength="20" name="telefon" /><br />email:<br />
  4. <input type="text" maxlength="30" name="email" /><br />Treść:<br />
  5. <input type="text" maxlength="60" name="tresc" /><br />
  6. <input type="submit" value="Wyslij" />
  7. </form>


  1. <?PHP
  2. $admin_email = "mail@poczta.fm";
  3. $title = "Email";
  4. $tresc = "imie: " . $_POST['imie'] . "\r\n\r\n";
  5. $tresc .= "telefon: " . $_POST['telefon'] . "\r\n\r\n";
  6. $tresc .= "email: " . $_POST['email'] . "\r\n\r\n";
  7. $tresc .= "tresc: " . $_POST['tresc'] . "\r\n";
  8. $header = 'MIME-Version: 1.0' . "\r\n";
  9. $header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
  10. $header .= 'From: ' . $admin_email . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  11. if (mail($admin_email, $title, $tresc, $header))
  12. echo '<center><br><br><p>Wyslano wiadomosc.......</p>';
  13. else
  14. echo '<center><br><br><p><b>NIE</b> wyslano maila!</p>';
  15. ?>
viking
A czy imap-mail zawiera mb_? Bądź poważny.
david8213
Coś takiego znalazłem ...
Dobrze to jest zapisane ?

  1. <?php
  2. $email_address = "poczta@poczta.fm";
  3. $tresc = "imie: " . $_POST['imie'] . "\r\n\r\n";
  4. $tresc .= "telefon: " . $_POST['telefon'] . "\r\n\r\n";
  5. $tresc .= "email: " . $_POST['email'] . "\r\n\r\n";
  6. $tresc .= "tresc: " . $_POST['tresc'] . "\r\n";
  7.  
  8. mb_language("pl");
  9. mb_internal_encoding("UTF-8");
  10.  
  11. $header = "From:".$email_address."\n";
  12. $header .= "Reply-to:".$email_address."\n";
  13. $header .= "Content-Type: text/plain\n";
  14. $header .= "X-Mailer:PHP/". phpversion();
  15.  
  16. mb_send_mail($header, "Mail wysłany ze strony", $tresc" From:$email_address");
  17. ?>
viking
Brawo. Teraz powiedz mi czemu tam powciskałeś losowe zmienne np pierwszy header? Zresztą nawet w tym zrobiłeś błąd składniowy( tresc i nagle jakieś from).
https://prophp.pl/advice/show/14/jak_czytac...mentacje_php%3F
david8213
Podałeś mi linka żeby poczytać że język PHP "nie należy do języków mocno uporządkowanych..." smile.gif
Teraz jest ok ?

  1. <?php
  2. $email_address = "poczta@poczta.fm";
  3. $tresc = "imię: " . $_POST['imie'] . "\r\n\r\n";
  4. $tresc .= "telefon: " . $_POST['telefon'] . "\r\n\r\n";
  5. $tresc .= "email: " . $_POST['email'] . "\r\n\r\n";
  6. $tresc .= "tresc: " . $_POST['tresc'] . "\r\n";
  7.  
  8. mb_language("pl");
  9. mb_internal_encoding("UTF-8");
  10.  
  11. $header = "From:".$email_address."\n";
  12. $header .= "Reply-to:".$email_address."\n";
  13. $header .= "Content-Type: text/plain\n";
  14. $header .= "X-Mailer:PHP/". phpversion();
  15.  
  16. mb_send_mail($email_address, 'Mail wysłany ze strony', $tresc, $header);
  17. ?>
viking
Może być. W nagłówku brak kodowania.
david8213
Teraz otrzymuje maila o treści "
aW1pZTogDQoNCnRlbGVmb246IA0KDQplbWFpbDogDQoNCnRyZcWbYzogDQo="
Jest gorzej jak było

  1. <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
  2. <?php
  3. $email_address = "davidnet@poczta.fm";
  4. $tresc = "imie: " . $_POST['imie'] . "\r\n\r\n";
  5. $tresc .= "telefon: " . $_POST['telefon'] . "\r\n\r\n";
  6. $tresc .= "email: " . $_POST['email'] . "\r\n\r\n";
  7. $tresc .= "tresc: " . $_POST['tresc'] . "\r\n";
  8.  
  9. mb_language("pl");
  10. mb_internal_encoding("UTF-8");
  11.  
  12. $headers = 'MIME-Version: 1.0' . "\r\n";
  13. $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
  14. $headers .= 'From: ' . $email_adress . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  15.  
  16. if (mb_send_mail($email_address, 'email wyslny ze strony', $tresc, $headers))
  17.  
  18. echo '<center><br><br><p>Wysłano wiadomość.......</p>';
  19. else
  20. echo '<center><br><br><p><b>NIE</b> wysłano maila!</p>';
  21. ?>
viking
Dostajesz zakodowany base64 content. Pewnie coś prv źle robi przy przesyłaniu. Nie dołącza informacji o tym do nagłówków. Spróbuj dodać $headers .= 'Content-Transfer-Encoding: base64' . "\r\n"; Jak nie pomoże to zobacz to na normalnym hostingu. Możesz sobie zobaczyć treść https://www.base64decode.org/
david8213
  1. <?php
  2. $email_address = "mailt@poczta.fm";
  3. $tresc = "imie: " . $_POST['imie'] . "\r\n\r\n";
  4. $tresc .= "telefon: " . $_POST['telefon'] . "\r\n\r\n";
  5. $tresc .= "email: " . $_POST['email'] . "\r\n\r\n";
  6. $tresc .= "tresc: " . $_POST['tresc'] . "\r\n";
  7.  
  8. mb_language("pl");
  9. mb_internal_encoding("UTF-8");
  10.  
  11. $headers = 'MIME-Version: 1.0' . "\r\n";
  12. $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
  13. $headers .= 'Content-Transfer-Encoding: base64' . "\r\n";
  14. $headers .= 'From: ' . $email_adress . "\r\n" . 'X-Mailer: PHP/' . phpversion();
  15.  
  16. if (mb_send_mail($email_address, 'email wyslny ze strony', $tresc, $headers))
  17.  
  18. echo '<center><br><br><p>Wysłano wiadomość.......</p>';
  19. else
  20. echo '<center><br><br><p><b>NIE</b> wysłano maila!</p>';
  21. ?>


Pasuje z tym. Masakra ... Dalej to samo
dublinka
Mowilem. Zmien to na inny serwer bo prv to gówno.

Jak juz sie uparłeś na darmowy to mozesz miec na:

ugu.pl

tylko najpierw sprawdz w info czy nie blokuja czegos
david8213
  1. text/plain; charset="iso-8859-1"


Jak odbieram z poczty interia maila wysłanego z mojego formularza to jak wchodze we włascwości maila to pokazuje mi kodowanie text/plain; charset="iso-8859-1"
czyli tak koduje interia iso-8859-1
gdzies w necie znalazłem ze prv koduje w ISO-8859-2
ale jak takie samo ustawię w PHp to nadal mi nie wysła.

Wiem ze można przeniesć stronę ale chciałbym jednak jeszcze pokombinować

ma ktos jeszcze jakiś pomysl ?
viking
Specjalnie założyłem konto na prv. No prostu ignoruje że dodajesz mu nagłówek base64 w związku z czym odbiorca nie potrafi poprawnie dekodować treści.

Cytat
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="UTF-8"


A nie możesz po prostu zacząć kombinować z phpmailer?
david8213
próbowałem z phpmailer ale nie wychodzi mi
dublinka
Cytat(david8213 @ 13.01.2020, 09:38:08 ) *
próbowałem z phpmailer ale nie wychodzi mi

Jestes masochistą. Zalozenie konta trwa 5 min + kolejne 5 na skonfigurowanie ftp-a i przeslanie plikow. A Ty chcesz sie tym męczyć. Mozesz uzyc phpmailer ale lepiej (jak jestes laikiem) nauczyc sie czegos.A tak wklepisz i tyle a w razie problemow dsalej wejdziesz na forum i bedziesz sie pytal.
Do zwyklego poslania kilku pol z formularza wystarczy to co wałkowane było dwa dni. Nie musisz miec armaty w postaci phpmailer.
david8213
mam od lat strone i domene na prv więc chyba nie musze tłumaczyć ze to jest problem

Spróbuje zrobić na prv mailerPHP


Zrobiłem za pomocą tego przykładu ale po wejsciu na stronę wyświetla mi kod php zamiast formularz
dublinka
Cytat(david8213 @ 13.01.2020, 09:45:29 ) *
mam od lat strone i domene na prv więc chyba nie musze tłumaczyć ze to jest problem

Spróbuje zrobić na prv mailerPHP

Pliki i domene mozna przeniesc to chyba wiesz. Zrobisz jak zechcesz.
david8213
wiem ze można ale chyba phpmailer na prv będzie działał smile.gif ... ?

  1. <form method="post" action="return.php"><br />
  2. imię:<br />
  3. <input type="text" maxlength="20" name="imie" /><br />
  4. telefon:<br />
  5. <input type="text" maxlength="20" name="telefon" /><br />
  6. email:<br />
  7. <input type="text" maxlength="30" name="email" /><br />
  8. Treść:<br />
  9. <input type="text" maxlength="60" name="tresc" /><br />
  10. <input type="submit" value="Wyslij" />
  11. </form>
  12.  
  13.  


  1. <?php
  2. require_once('class.phpmailer.php'); //dodanie klasy phpmailer
  3. require_once('class.smtp.php'); //dodanie klasy smtp
  4. $mail = new PHPMailer(); //utworzenie nowej klasy phpmailer
  5. $mail->From = "mojmail@poczta.fm"; //adres e-mail użyty do wysyłania wiadomości
  6. $mail->FromName = "Jan Nowak"; //imię i nazwisko lub nazwa użyta do wysyłania wiadomości
  7. $mail->AddReplyTo('nadawca@domena.pl', 'mailing'); //adres e-mail nadawcy oraz jego nazwa
  8. //w polu "Odpowiedz do"
  9. $mail->Host = "smtp.webio.pl"; //adres serwera SMTP wysyłającego e-mail
  10. $mail->Mailer = "smtp"; //do wysłania zostanie użyty serwer SMTP
  11. $mail->SMTPAuth = true; //włączenie autoryzacji do serwera SMTP
  12. $mail->Username = "j.nowak@webio.pl"; //nazwa użytkownika do skrzynki e-mail
  13. $mail->Password = "hasło"; //hasło użytkownika do skrzynki e-mail
  14. $mail->Port = 587; //port serwera SMTP zależny od konfiguracji dostawcy usługi poczty
  15. $mail->Subject = "temat"; //Temat wiadomości, można stosować zmienne i znaczniki HTML
  16. $mail->Imie = 'imię'; //Treść wiadomości, można stosować zmienne i znaczniki HTML
  17. $mail->Telefon = 'telefon'; //Treść wiadomości, można stosować zmienne i znaczniki HTML
  18. $mail->Email = 'email'; //Treść wiadomości, można stosować zmienne i znaczniki HTML
  19. $mail->Tresc = 'treść'; //Treść wiadomości, można stosować zmienne i znaczniki HTML
  20. $mail->AddAddress ("mojmail@poczta.fm","Nazwa adresata"); //adres skrzynki e-mail oraz nazwa
  21. //adresata, do którego trafi wiadomość
  22. if($mail->Send()) //sprawdzenie wysłania, jeśli wiadomość została pomyślnie wysłana
  23. {
  24. echo 'E-mail został wysłany'; //wyświetl ten komunikat
  25. }
  26. else //w przeciwnym wypadku
  27. {
  28. echo 'E-mail nie mógł zostać wysłany'; //wyświetl następujący
  29. }
  30. ?>


wgrałem do katalogu dwa pliki
class.phpmailer.php
class.smtp.php'

Po wejściu na stronę wyswietla mi kod PHP
dublinka
https://webinsider.pl/phpmailer-php-mandrill-gmail/

tu masz chyba to co Cie powinno zainteresowac. Jesli nie to tu ponizej:

https://www.google.ie/search?client=opera&a...-8&oe=UTF-8
david8213
Dobrze robię powiązania z formularzem ?

  1. <form method="post" action="index.php"><br />
  2. imię:<br />
  3. <input type="text" maxlength="20" name="imie" /><br />
  4. telefon:<br />
  5. <input type="text" maxlength="20" name="telefon" /><br />
  6. email:<br />
  7. <input type="text" maxlength="30" name="email" /><br />
  8. Treść:<br />
  9. <input type="text" maxlength="60" name="tresc" /><br />
  10. <input type="submit" value="Wyslij" />
  11. </form>
  12.  
  13. <?php
  14. require_once('phpmailerautoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
  15.  
  16. $mail = new PHPMailer;
  17. $mail->CharSet = "UTF-8";
  18.  
  19. $mail->IsSMTP();
  20. $mail->Host = 'smtp.gmail.com'; # Gmail SMTP host
  21. $mail->Port = 465; # Gmail SMTP port
  22. $mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP
  23. $mail->Username = "you@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika
  24. $mail->Password = "GMAIL PASSWORD"; # Gmail password / Hasło użytkownika
  25. $mail->SMTPSecure = 'ssl';
  26.  
  27. #$mail->From = ''; # REM: Gmail put Your e-mail here
  28. $mail->FromName = 'You name'; # Sender name
  29. $mail->AddAddress('send_to@adress', 'Name'); # # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
  30.  
  31. $mail->IsHTML(true); # Email @ HTML
  32.  
  33. $mail->Subject = 'E-mail subject / Tytuł wiadomości';
  34. $mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';
  35. $mail->telefon = 'HTML e-mail body / Treść wiadomości w HTML';
  36. $mail->email = 'HTML e-mail body / Treść wiadomości w HTML';
  37. $mail->tresc = 'HTML e-mail body / Treść wiadomości w HTML';
  38. $mail->AltBody = 'Plaint text e-mail body / Treść wiadomości jako tekst';
  39.  
  40. if(!$mail->Send()) {
  41. echo 'Some error... / Jakiś błąd...';
  42. echo 'Mailer Error: ' . $mail->ErrorInfo;
  43. }
  44.  
  45. echo 'Message has been sent (OK) / Wiadomość wysłana (OK)';
  46.  
  47. ?>
david8213
  1. Dobrze robię powiązania z formularzem ?
  2.  
  3. [php]<form method="post" action="index.php"><br />
  4. imię:<br />
  5. <input type="text" maxlength="20" name="imie" /><br />
  6. telefon:<br />
  7. <input type="text" maxlength="20" name="telefon" /><br />
  8. email:<br />
  9. <input type="text" maxlength="30" name="email" /><br />
  10. Treść:<br />
  11. <input type="text" maxlength="60" name="tresc" /><br />
  12. <input type="submit" value="Wyslij" />
  13. </form>
  14.  
  15. <?php
  16. require_once('phpmailerautoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
  17.  
  18. $_POST = array_map('trim', $_POST);
  19.  
  20. $error = false;
  21.  
  22. if (!isset($_POST['imie']) || empty($_POST['imie'])) {
  23. $error = true;
  24. }
  25.  
  26. if (!isset($_POST['telefon']) || empty($_POST['telefon']) || !PHPMailer::ValidateAddress($_POST['email'])) {
  27. $error = true;
  28. }
  29.  
  30.  
  31. if (!isset($_POST['email']) || empty($_POST['email'])) {
  32. $error = true;
  33. }
  34.  
  35.  
  36. if (!isset($_POST['tresc']) || empty($_POST['tresc']) || (int) $_POST['tresc'] !== ((int) $_POST['tresc_data'][0] * (int) $_POST['tresc_data'][1])) {
  37. $error = true;
  38. }
  39.  
  40. if ($error) {
  41. exit('nok');
  42. }
  43.  
  44.  
  45. $mail = new PHPMailer;
  46. $mail->CharSet = "UTF-8";
  47.  
  48. $mail->IsSMTP();
  49. $mail->Host = 'smtp.gmail.com'; # Gmail SMTP host
  50. $mail->Port = 465; # Gmail SMTP port
  51. $mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP
  52. $mail->Username = "you@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika
  53. $mail->Password = "GMAIL PASSWORD"; # Gmail password / Hasło użytkownika
  54. $mail->SMTPSecure = 'ssl';
  55.  
  56. #$mail->From = ''; # REM: Gmail put Your e-mail here
  57. $mail->FromName = 'You name'; # Sender name
  58. $mail->AddAddress('send_to@adress', 'Name'); # # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
  59.  
  60. $mail->IsHTML(true); # Email @ HTML
  61.  
  62. $mail->Subject = 'E-mail subject / Tytuł wiadomości';
  63. $mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';
  64. $mail->telefon = 'HTML e-mail body / Treść wiadomości w HTML';
  65. $mail->email = 'HTML e-mail body / Treść wiadomości w HTML';
  66. $mail->tresc = 'HTML e-mail body / Treść wiadomości w HTML';
  67. $mail->AltBody = 'Plaint text e-mail body / Treść wiadomości jako tekst';
  68.  
  69. if(!$mail->Send()) {
  70. echo 'Some error... / Jakiś błąd...';
  71. echo 'Mailer Error: ' . $mail->ErrorInfo;
  72. }
  73.  
  74. echo 'Message has been sent (OK) / Wiadomość wysłana (OK)';
  75.  
  76. ?>


Dobra pasuje, to dla mnie jest za ciężkie. We wcześnijeszej formie miałem kilka linijek tu jest tego za duzo. Dzięki za powyższe posty
nospor
Olej na razie te sprawdzanie czy pola zostaly wypelnione czy nie. Wstaw te post do maila jak wstawiales wczesniej - czyli bezposrednio i juz.

A jesli nadal widzisz kod php zamiast strony, to czy na pewno wstawiles to do pliku .php ?
viking
Większość to konfiguracja hostów. Chociaż czytelne to jest. A że sobie pododawałeś skądś $mail->imie zamiast https://github.com/PHPMailer/PHPMailer/blob...ctform.phps#L38 to inna sprawa. No i jest chociaż jakiś zaczątek walidacji zamiast słanie co atakujący wyśle.
trueblue
Cytat(david8213 @ 13.01.2020, 11:26:54 ) *
  1. $mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';
  2. $mail->telefon = 'HTML e-mail body / Treść wiadomości w HTML';
  3. $mail->email = 'HTML e-mail body / Treść wiadomości w HTML';
  4. $mail->tresc = 'HTML e-mail body / Treść wiadomości w HTML';

A to w jakim celu?
david8213
  1. [php]Dobrze robię powiązania z formularzem ?
  2.  
  3. [php]<form method="post" action="index.php"><br />
  4. imię:<br />
  5. <input type="text" maxlength="20" name="imie" /><br />
  6. telefon:<br />
  7. <input type="text" maxlength="20" name="telefon" /><br />
  8. email:<br />
  9. <input type="text" maxlength="30" name="email" /><br />
  10. Treść:<br />
  11. <input type="text" maxlength="60" name="tresc" /><br />
  12. <input type="submit" value="Wyslij" />
  13. </form>
  14.  
  15. <?php
  16. require_once('phpmailerautoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
  17.  
  18. $title = "strona";
  19. $tresc = "Imie: " . $_POST['imie'] . "\r\n\r\n";
  20. $tresc .= "Tel: " . $_POST['telefon'] . "\r\n\r\n";
  21. $tresc .= "Mail: " . $_POST['email'] . "\r\n\r\n";
  22. $tresc .= "Tresc: " . $_POST['tresc'] . "\r\n";
  23.  
  24.  
  25. $mail = new PHPMailer;
  26. $mail->CharSet = "UTF-8";
  27.  
  28. $mail->IsSMTP();
  29. $mail->Host = 'smtp.gmail.com'; # Gmail SMTP host
  30. $mail->Port = 465; # Gmail SMTP port
  31. $mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP
  32. $mail->Username = "you@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika
  33. $mail->Password = "GMAIL PASSWORD"; # Gmail password / Hasło użytkownika
  34. $mail->SMTPSecure = 'ssl';
  35.  
  36. #$mail->From = ''; # REM: Gmail put Your e-mail here
  37. $mail->FromName = 'You name'; # Sender name
  38. $mail->AddAddress('send_to@adress', 'Name'); # # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
  39.  
  40. $mail->IsHTML(true); # Email @ HTML
  41.  
  42. $mail->Subject = 'E-mail subject / Tytuł wiadomości';
  43. $mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';
  44. $mail->telefon = 'HTML e-mail body / Treść wiadomości w HTML';
  45. $mail->email = 'HTML e-mail body / Treść wiadomości w HTML';
  46. $mail->tresc = 'HTML e-mail body / Treść wiadomości w HTML';
  47. $mail->AltBody = 'Plaint text e-mail body / Treść wiadomości jako tekst';
  48.  
  49. if(!$mail->Send()) {
  50. echo 'Some error... / Jakiś błąd...';
  51. echo 'Mailer Error: ' . $mail->ErrorInfo;
  52. }
  53.  
  54. echo 'Message has been sent (OK) / Wiadomość wysłana (OK)';
  55.  
  56. ?>



tam gdzie są apostrofy wstawiam swoje zmienne z formularza ?
  1. $mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';


MOze chociaż ktoś jeden przykład napisac
nospor
Cytat
MOze chociaż ktoś jeden przykład napisac
A czy ty mozesz w koncu wlaczyc myslenie?

Tresc juz masz, o tu:
$tresc = "Imie: " . $_POST['imie'] . "\r\n\r\n";
$tresc .= "Tel: " . $_POST['telefon'] . "\r\n\r\n";
$tresc .= "Mail: " . $_POST['email'] . "\r\n\r\n";
$tresc .= "Tresc: " . $_POST['tresc'] . "\r\n";

teraz masz ja wstawic do maila, o tu:
$mail->AltBody = $tresc;
$mail->Body = $tresc;

Zas to
$mail->imie = 'HTML e-mail body / Treść wiadomości w HTML';
$mail->telefon = 'HTML e-mail body / Treść wiadomości w HTML';
$mail->email = 'HTML e-mail body / Treść wiadomości w HTML';
$mail->tresc = 'HTML e-mail body / Treść wiadomości w HTML';

ma zniknac, PHPMailer nie ma takich pol. Nie dodawaj swoich pol na chybil trafil.
david8213
No dobra zrobiłem tak . wpisałem swojego gmaila i hasło i po wysłaniu danych z formularza brak info na stronie czy wysła czy nie wysłał

send.php
  1. <?php
  2. require_once('phpmailerautoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
  3.  
  4.  
  5. $tresc = "Imie: " . $_POST['imie'] . "\r\n\r\n";
  6. $tresc .= "Tel: " . $_POST['telefon'] . "\r\n\r\n";
  7. $tresc .= "Mail: " . $_POST['email'] . "\r\n\r\n";
  8. $tresc .= "Tresc: " . $_POST['tresc'] . "\r\n";
  9.  
  10.  
  11. $mail = new PHPMailer;
  12. $mail->CharSet = "UTF-8";
  13.  
  14. $mail->IsSMTP();
  15. $mail->Host = 'smtp.gmail.com'; # Gmail SMTP host
  16. $mail->Port = 465; # Gmail SMTP port
  17. $mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP
  18. $mail->Username = "mojmail@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika
  19. $mail->Password = "mojehasło do gmaila"; # Gmail password / Hasło użytkownika
  20. $mail->SMTPSecure = 'ssl';
  21.  
  22. #$mail->From = ''; # REM: Gmail put Your e-mail here
  23. $mail->FromName = 'You name'; # Sender name
  24. $mail->AddAddress('mojmail@gmail.com', 'mojmail'); # # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
  25.  
  26. $mail->IsHTML(true); # Email @ HTML
  27.  
  28. $mail->Subject = 'Email wysłany ze strony www';
  29. $mail->AltBody = $tresc;
  30.  
  31. if(!$mail->Send()) {
  32. echo 'Some error... / Jakiś błąd...';
  33. echo 'Mailer Error: ' . $mail->ErrorInfo;
  34. }
  35.  
  36. echo 'Message has been sent (OK) / Wiadomość wysłana (OK)';
  37.  
  38. ?>


Formularz może byc taki
  1. <form method="post" action="send.php"><br />
  2. imię:<br />
  3. <input type="text" maxlength="20" name="imie" /><br />
  4. telefon:<br />
  5. <input type="text" maxlength="20" name="telefon" /><br />
  6. email:<br />
  7. <input type="text" maxlength="30" name="email" /><br />
  8. Treść:<br />
  9. <input type="text" maxlength="60" name="tresc" /><br />
  10. <input type="submit" value="Wyslij" />
  11. </form>


czy musi byc taki

index.php
  1. <form method="POST" action="send.php">
  2. <label for="tresc">Imię: <input type="text" name="imie" id="imie"></label><br>
  3. <label for="tresc">Telefon: <input type="telefon" name="telefon" id="telefon"></label><br>
  4. <label for="tresc">Email: <input type="email" name="email" id="email"></label><br>
  5. <label for="tresc">Wiadomość: <textarea name="tresc" id="tresc" rows="8" cols="20"></textarea></label><br>
  6. <input type="submit" value="Wyślij">
  7. </form>


Po wysłaniu formularza otwiera mi się zawartość pliku PHPMailerAutoload.php [kod php] na stronie

oczywiście na gmailu opcja jest ustawiona https://www.google.com/settings/security/lesssecureapps
viking
A co zawiera plik phpmailerautoload.php? Przy poprawnie działającym serwerze nie ma możliwości wyświetlania zawartości plików php.
david8213
Plik pobrany był z tej strony kliknij
viking
No cóż. Widocznie prv ma takie problemy podstawowe. Możesz zmienić tam w panelu wersję php na 7. A może zadziała. Jak nie to 50 rocznie za normalny hosting.
david8213
Masakra .za co się nie weźmie człowiek to problem . Chyba masz racje prv to g.....
A to co jest kilka postów wyżej to powinno zadziałać na innym serwerze ? Zerknij czy jest tam wszytko ok
Chodzi mi o formularz i plik senn.php
Phpmailer
viking
Ogólnie wystarczy wrzucić gdzieś pliki z https://github.com/PHPMailer/PHPMailer/tree/master/src i je dołaczyć przez require. Chociaż nowocześnie robi się to poprzez composer.
dublinka
Trzeba było słuchać mnie a nie pierdololo.

Zamieniłeś ? Działa teraz ?
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.