![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z PHPMailer ponieważ chcę wysłać wiadomości do wszystkich użytkowników z bazy danych i to działa jednak pętla nie działa do "$mail->Subject" oraz "$mail->Body". Ktoś coś doradzi, pomoże ?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj SwiftMailer: https://swiftmailer.symfony.com/docs/plugin...ecorator-plugin
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 884 Pomógł: 231 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze.
Wystaw obiekt PHPMailer poza pętle. Może nie wysyłasz emaili bo masz za dużo połączeń z pocztą w tym samym czasie. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wywal też poza pętlę
Kod require "PHPMailer/PHPMailerAutoload.php"; Jedno zaciągnięcie biblioteki wystarczy. edit: wyświetl sobie w phpmyadmin co tak naprawdę zwraca Ci zapytanie sql. Ten post edytował gino 19.05.2021, 06:26:44 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
Wywal też poza pętlę Kod require "PHPMailer/PHPMailerAutoload.php"; Jedno zaciągnięcie biblioteki wystarczy. edit: wyświetl sobie w phpmyadmin co tak naprawdę zwraca Ci zapytanie sql. wywaliłem po za pętle PHPMailer. Zapytanie SQL zwraca w moim przypadku dwa rekordy z adresem e-mail oraz imieniem i nazwiskiem. Tak jak pisałem powyżej pętla nie działa na dla "$mail->Subject" oraz "$mail->Body"natomiast dorzucając imię i nazwisko do "AddAddress" pętla działa i wysyła również imię i nazwisko.
Ten post edytował ufo1990 19.05.2021, 06:50:43 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
tak poza pętlą powinien być mailer
Ten post edytował LowiczakPL 19.05.2021, 07:13:46 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
tak poza pętlą powinien być mailer
Tak wiem, ustawiłem PHPMailer po za pętla ale nie oto chodzi że PHPMailer nie działa tylko nie działa pętla dla
Ten post edytował ufo1990 19.05.2021, 07:23:36 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie powinno zwrócić jeden rekord z dwoma polami a nie 2 rekordy, po co więc pętla while? Całość wysyłania powinna się odbyć w pętli for, a w zasadzie to w pętli foreach bo te zmienne $name_explode i $email_explode to tablice.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie powinno zwrócić jeden rekord z dwoma polami a nie 2 rekordy, po co więc pętla while? Całość wysyłania powinna się odbyć w pętli for, a w zasadzie to w pętli foreach bo te zmienne $name_explode i $email_explode to tablice. Zgadza się mój błąd przecież zwróci jednej rekord z dwoma polami po przecinku. Próbowałem z foreach ale nadal nie w treści e-maila jest wysyłana tylko treść z pierwszego pola. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wywal pętle while, w pętlę for wrzuć
Kod if(!$mail->Send()) { echo "Wiadomość nie wysłana: " . $mail->ErrorInfo; } else { echo "Wiadomość wysłana!"; } $mail->clearAllRecipients(); edit tylko wcześniej zrób mysql_fetch_array na tym jednym rekordzie. Ten post edytował gino 19.05.2021, 08:20:12 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
Wywal pętle while, w pętlę for wrzuć Kod if(!$mail->Send()) { echo "Wiadomość nie wysłana: " . $mail->ErrorInfo; } else { echo "Wiadomość wysłana!"; } $mail->clearAllRecipients(); edit tylko wcześniej zrób mysql_fetch_array na tym jednym rekordzie. Dziękuje za pomoc, faktycznie działa (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wywal też te echa, zrób jak należy, wrzuć wysyłanie w try...catch, po co za każdym razem ma wypisywać że wysłany, jak będizesz miał 100 klientów to 100xecho ?
Zobacz jak to robi autor: phpmailer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 26.07.2019 Ostrzeżenie: (0%) ![]() ![]() |
Wywal też te echa, zrób jak należy, wrzuć wysyłanie w try...catch, po co za każdym razem ma wypisywać że wysłany, jak będizesz miał 100 klientów to 100xecho ? Zobacz jak to robi autor: phpmailer jasne kod został uporządkowany i żadnych echo nie ma. Tak naprawę to kod będzie wykorzystywany do crona. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:49 |