Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]phpmailer, kilku adresatów
Forum PHP.pl > Forum > Przedszkole
Cromwell
Korzystając z PHPMailera, piszę skrypt, który pozwala wysyłać maile.
Działa na zasadzie, że użytkownik podaje mail, z którego będą wysyłane oraz hasło, odbiorców i samą wiadomość.
Na podstawie podanego maila i hasła, skrypt sam ustawia SMTP. Działa na mailach w domenie gmail.com, o2.pl, onet.pl, gazeta.pl itd.

Została mi ostatnia rzecz, z którą nie wiem jak sobie poradzić.
Chodzi o wysyłanie wiadomości do kilku osób.
Odbiorców podaje się w ten sposób:
  1. $mail->AddAddress("jakis@gdziestam.com");
  2. $mail->AddAddress("taki@gdzietu.pl");

W formularzu natomiast chcę, aby odbiorów można było wstawiać po przecinku (jakis@gdziestam.com, taki@gdzietu.pl).
Problemem jest to, że jeśli pobiorę dane z formularza i zapiszę je w tablicy, to nie wiem jak je później przedstawić skryptowi w wymaganej postaci, gdzie każdy adres jest oddzielnie.
john_doe
manual

http://pl2.php.net/explode

potem pętla i gut
Cromwell
I teraz kolejny problem..
U mnie wygląda to tak
  1. $odbiorcy = explode(",", $_POST['adresat']);
  2. $licz=count($odbiorcy);
  3. for ($i = 0; $i = $licz; $i++) {
  4. $mail->AddAddress("$odbiorcy[$i]");
  5. }


W pliku class.phpmailer.php mam coś takiego
  1. public function AddAddress($address, $name = '') {
  2. $cur = count($this->to);
  3. $this->to[$cur][0] = trim($address);
  4. $this->to[$cur][1] = $name;
  5. }


Przy podaniu dwóch adresów (samo przekazywanie i explode działa dobrze), wywala mi komuikat
Cytat
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in /home/***/mai/class.phpmailer.php on line 327


Ok, pozmieniałem na
  1. $odbiorcy = explode(",", $_POST['adresat']);
  2. foreach ($odbiorcy as $adres) {
  3. $mail->AddAddress("$adres");
  4. }

Bez zliczania elementów tablicy. I teraz wszystko dobrze działa smile.gif
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.