Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: email do wielu osób za pomocą mail()
Forum PHP.pl > Forum > PHP
ilkar
Witam wszystkich w Nowym Roku!

W jaki sposób zrobić wysyłkę maila do wielu osób, aby w nagłówku nie wyświetlała się informacja, że mail został wysłany do np. 10 osób. To znaczy, aby w nagłówku pozostawał widoczny tylko jeden adres korespondencyjny osoby do której ten mail jest przesyłany. Czyli jeżeli przesyłam do Janka i Marka, aby Janek widział, że mail został przesłany na adres janek@op.pl , a Marek - marek@op.pl ?

Jeżeli tworzę pętle:

for($i=0; $i<=sizeof($emails); $i++){
if($i < sizeof($emails) ){
$to .= $emails[$i].', ';
}

mb_language('uni');
mail($to, $subject, $message, $header);
}

To w nagłówku pokazują się wszystkie adresy z $emails - i tak być chyba powinno,

a jeżeli :

for($i=0; $i<=sizeof($emails); $i++){
mb_language('uni');
mail($emails[$i], $subject, $message, $header);
}

to serwer wysyła maile poprawnie do wszystkich, ale się wiesza i nie chce zrobić nic więcej...
JoShiMa
w nagłówku zastosować klauzulę Bcc (ukryta kopia). Dodaj do nagłówka linię:

  1. <?php
  2. "Bcc: $s_listaAdresowr\n"
  3. ?>


gdzie $s_listaAdresow to string zawierający adresy e-mail oddzielone przecinkami.
Grzyw
Albo skorzystaj z klasy PHPMailer. Googlując znajdziesz o niej wszystko. Bardzo mocno polecam:)
ilkar
Z PHPMailer pokombinuje troszeczke później, a teraz wracając do mail(), dlaczego po wypisaniu adresów po przecinku, czyli bbc: adres, adres, adres maila dostaje tylko pierwszy w kolejnosci? a reszta nie?
krowal
A nie możesz po prostu zrobić:
  1. <?php
  2. foreach($emails as $e){
  3.  mail($e, $subject, $message, $header);
  4. }
  5. ?>


edit:
aa sorry widze, że już tak zrobiłeś, ale jeśli ci się server na tym wiesza to szukaj problemu gdzieś indziej bo zdecydowanie nie powinien się zawieszać. A to co kombinujesz zrobić to zbędne workaroundy.
ilkar
rzeczywiście błąd wieszania się serwera był spowodowany czymś innym.

Tak czy inaczej dzieki za pomoc.
JoShiMa
Cytat(ilkar @ 6.01.2009, 12:39:43 ) *
Z PHPMailer pokombinuje troszeczke później, a teraz wracając do mail(), dlaczego po wypisaniu adresów po przecinku, czyli bbc: adres, adres, adres maila dostaje tylko pierwszy w kolejnosci? a reszta nie?

A napisz dokładnie co tam wstawiłeś.
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.