Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]@mail do wielu osób
Forum PHP.pl > Forum > Przedszkole
Dizel
  1. <?php
  2. // sprawdzamy, czy zmienna $submit jest pusta
  3. if (empty($_POST['submit'])) {
  4. // wyświetlamy formularz
  5. echo "<table border=\"1\"><form method=\"post\">
  6.  
  7.  
  8. <tr>
  9. <td>Message</td>
  10. <td><textarea name=\"tresc\" style=\"width: 250px; height: 100px\"></textarea></td>
  11. </tr>
  12. <tr>
  13. <td>Name and Nick</td>
  14. <td><input type=\"text\" name=\"imie\" style=\"width: 250px\"></td>
  15. </tr>
  16. <tr>
  17. <td>Adress e-mail</td>
  18. <td><input type=\"text\" name=\"email\" style=\"width: 250px\"></td>
  19. </tr>
  20. <tr>
  21. <td>&nbsp;</td>
  22. <td><input type=\"submit\" name=\"submit\" value=\"Sent\">&nbsp;
  23. <input type=\"reset\" value=\"Clear\"></td></form>
  24. </tr>
  25. </table>";
  26. }
  27. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  28. elseif (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email'])) {
  29. // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  30. // zmienna $message zawiera treść wiadomości
  31. $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]";
  32. // zmienna $header zawiera przede wszystkim adres zwrotny
  33. $header = "From: $_POST[imie] <$_POST[email]>";
  34. // funkcja mail() za pomocą której wiadomość zostanie wysłana
  35. @mail("xxx@gmail.com","Wiadomosc ze strony WWW","$message","$header")
  36. or die('Nie udało się wysłać wiadomości');
  37. // wyświetlenie komunikatu w przypadku powodzenia
  38. echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  39. }
  40. // lub w przypadku nie wypełnienia formularza do końca
  41. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  42.  
  43. ?>



Chciałbym żeby wysyłało maila do trzech osób, to jest do xxx,yyy i zzz.
gitbejbe
to zrób tablicę adresów email, do których ma zostać wysłana wiadomość i owiń to w petle
Spawnm
Ale do 3 osób ta sama treść czy ma się coś w niej zmienić?
Oddziel przecinkami kolejne maila na które ma zostać wysłana treść
Dizel
Dzięki bardzo.
SmokAnalog
Cytat(Spawnm @ 8.08.2013, 14:36:40 ) *
Oddziel przecinkami kolejne maila na które ma zostać wysłana treść

Pytanie czy te osoby chcą, by pozostałe znały ich adres e-mail, w co wątpię.
Spawnm
To już autor musi określi czy to ma być cc czy bcc.
http://pl1.php.net/manual/en/function.mail.php
jonatan_jr
żeby nie tworzyć nowego tematu to się przyłącze,

Moje pytanie jest trochę inne ale powiązane z funkcją mail(). Już minęło sporo czasu kiedy ostatni raz robiłem coś w PHP. Wtedy jeszcze nie było problemów z wysyłaniem maili z lokalnego serwera wystarczyło zmodyfikować plik php.ini i do dzieła. Teraz jak chciałem zrobić coś podobnego to lipa większość serwerów wymaga uwierzytelniania, a wysyłając za pomocą funkcji mail nie można tego zrobić tzn uwierzytelnić (przynajmniej tak wyczytałem na G).
Znalazłem serwer który nie wymaga uwierzytelnienia i dalej lipa, podczas wysyłania nie pojawia się żadem błąd wyskakuje mi komunikat że mail został wysłany a nic nie dochodzi na skrzynkę odbiorcy. Czy ta funkcja może być jakoś blokowana lub czy istnieje jakiś inny sposób żeby wysłać maila za pomocą funkcji mail.

Pozdrawiam
gitbejbe
od kiedy tylko robie wysyłke maili to korzystam z klasy "phpmailer". "mail" mi nigdy nie działał jak trzeba więc polecam się zainteresować tą klasą
jonatan_jr
ok poczytam
dzięki za szybką odpowiedź

Poczytałem i super skrypcik:) polecam wszystkim smile.gif

Ale mam jeszcze pytanie podpiąłem tinymce do wpisywania treści wiadomości. Wysyłanie działa ale w treści wiadomości są wszystkie znaczniki html no i brakuje polskich znaków da to się jakoś obejść?

np
<p>skjdb ąśćźłó</p>


Już rozwiązałem problem:)

dla potomności:
  1. $mail->CharSet = "UTF-8"; // polskie znaki
  2. $body = "<b>Treść</b>";
  3. $mail->MsgHTML($body); // znaczniki html


No już prawie wszystko ładnie działa wink.gif powstał problem z wysyłaniem do kilku osób
mój kod (pętla)
  1. $query = "SELECT * FROM dane";
  2. $result = mysql_query($query)
  3. or die ("Nie udało się wczytać adresów z bazy");
  4. while ($row = mysql_fetch_array($result))
  5. {
  6. $mail->AddAddress($row['mail']);
  7. if(!$mail->Send()) {
  8. echo 'Message could not be sent.';
  9. echo 'Mailer Error: ' . $mail->ErrorInfo;
  10. }else{
  11. echo 'Message has been sent';
  12. $mail->ClearAddresses();
  13. $mail->ClearAttachments();
  14. }
  15. }


Niby wszystko ładnie wysyła ale dużo za dużo tzn
mam 4 adresy w bazie no i tak:
do pierwszego adresu wysyła 4 takie same maile
do drugiego adresu wysyła 3 maile
do trzeciego adresu 2 maile
i do ostatniego wysyła 1 mail

No i mam zagwostke co tu robić pomysły się już kończą (tak jak i cierpliwośćwink.gif )
Pętla działa dobrze tzn tyle razy ile jest adresów (komunikat echo 'Message has been sent'; wyświetla się tyle samo razy co liczba adresów)
i nie wiem czy coś w phpmailer zmieniać czy co

bardzo proszę o pomoc bo już prawie osiwiałem i już powoli zaczynam sobie włosy wyrywać
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.