function phpmailer($mail_adres,$subject,$body) { if(!@include(PHPMAILER_DIR)) { return false; } $mail = new phpmailer(); $mail->From = PHPMAILER_FROM; $mail->FromName = PHPMAILER_FROMNAME; $mail->Host = PHPMAILER_HOST; $mail->Mailer = PHPMAILER_MAILER; $mail->CharSet = "UTF-8"; $mail->IsSMTP(); // send via SMTP $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = PHPMAILER_USERNAME; // SMTP username $mail->Password = PHPMAILER_PASSWORD; // SMTP password $mail->Subject = $subject; $mail->Body = $body; $mail->IsHTML(true); // send as HTML $mail->AddAddress($mail_adres); //echo na okres testowania echo 'Do: '.$mail_adres.' Tekst: '.$mail->Body.' Temat: '.$mail->Subject.' (Username: '.$mail->Username.' Pass: '.$mail->Password.' smtp:'.$mail->Host.')<br>'; if(!$mail->Send()) { return $mail->ErrorInfo; }else{ $mail->ClearAddresses(); return true; } }
Problem polega na tym, że przy drugim użyciu funkcji phpmailer, kod po "$mail = new phpmailer();" nie wykonuje się..funkcja nic nie zwraca, ani nie wysyła e-mail'a...Przy pierwszym wywołaniu funkcji wszystko wykonuje się poprawnie. Spróbowałem dodać unset, aby zlikwidować egzemplarz klasy phpmailer, ale to nie pomaga - w końcu powinien po wykonaniu się funkcji samemu się unicestwić.
Co Wy na to? Od razu upszedzę, że rozwiązanie typu dodanie kolejnych adresów w istniejącym wywołaniu klasy odpada.
Z góry dzięki za pomoc i pozdrawiam