Rothstein adlı üyeden alıntı: mesajı görüntüle
herkese aynı anda email göndermek gizliliğe aykırı, çünkü alıcılar diğer email adresleri görebilir. bu yüzden tüm email adresleri çekerek döngüyle yinelemek daha mantıklı.
Bu kod zaten aynı and herkese göndermiyor. Sırayla gönderiyor.

Sorunun çözümüne gelince; mail gönderme işlemi biraz zaman aldığından server ilk işlemi gerçekleştirirken diğer mail gönderim işlemlerini yapamıyor. Sıraya da alamadığından sadece ilk kiiye gidiyor. Neden sıraya alamıyor onu bilmiyorum ama.
While döngüsünün sonuna sleep(15); eklersen her mail arasında bir müddet bekelyip teker teker gönderimi yapar diye düşünüyorum.

Kodu aşağıdaki şekilde değiştirmelisin.

$gun = date('j'); 
         
        $ay = date('n'); 
        echo $gun;
 
        $calisansor=mysql_query("select * from calisanlistesi Where Gun = $gun and Ay = $ay");
        while($calisanbilgi=mysql_fetch_array($calisansor))
            {
            $isim = $calisanbilgi['AdSoyad']; 
            $mailadresi = $calisanbilgi['MailAdresi'];
 
            require("class.phpmailer.php");
            $mail = new PHPMailer(); 
            $mail->IsSMTP(); 
            $mail->SMTPDebug = 1; 
            $mail->SMTPAuth = true; 
            $mail->SMTPSecure = 'tls'; 
            $mail->Host = "SMTP.office365.com";
            $mail->Port = 587; // or 587
            $mail->IsHTML(true);
            $mail->SetLanguage("tr", "phpmailer/language");
            $mail->CharSet  ="utf-8";
 
            $mail->Username = "erkutcin@***.com.tr"; 
            $mail->Password = "****"; 
            $mail->SetFrom("erkutcin@****.com.tr", "Erkut Cin");
 
            $mail->AddAddress("$mailadresi"); 
 
            $mail->Subject = "Doğum Günü Bildirisi";
            $mail->Body = "Sayın $isim Doğum günün kutlu olsun ";
 
            if(!$mail->Send()){
                            echo "Mailer Error: ".$mail->ErrorInfo;
            } else {
                            echo "Message has been sent";
            }
            
                             sleep(15);
  }