Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]phpmailer, kilku adresatów
Cromwell
post 28.09.2009, 17:34:20
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 1.09.2009

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
john_doe
post 28.09.2009, 17:41:15
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


manual

http://pl2.php.net/explode

potem pętla i gut

Ten post edytował john_doe 28.09.2009, 17:42:17
Go to the top of the page
+Quote Post
Cromwell
post 28.09.2009, 18:39:48
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 1.09.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:30