ilkar
6.01.2009, 08:27:16
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
6.01.2009, 09:00:30
w nagłówku zastosować klauzulę Bcc (ukryta kopia). Dodaj do nagłówka linię:
<?php
"Bcc: $s_listaAdresowr\n"
?>
gdzie $s_listaAdresow to string zawierający adresy e-mail oddzielone przecinkami.
Grzyw
6.01.2009, 10:10:50
Albo skorzystaj z klasy PHPMailer. Googlując znajdziesz o niej wszystko. Bardzo mocno polecam:)
ilkar
6.01.2009, 10: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?
krowal
6.01.2009, 11:35:24
A nie możesz po prostu zrobić:
<?php
foreach($emails as $e){
mail($e, $subject, $message, $header); }
?>
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
6.01.2009, 12:18:24
rzeczywiście błąd wieszania się serwera był spowodowany czymś innym.
Tak czy inaczej dzieki za pomoc.
JoShiMa
6.01.2009, 14:14:50
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ś.