Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana funkcji mail
Forum PHP.pl > Forum > PHP
kingpc
Wrzuciłem skrypt na serwer tak jak pisało. Wszystko działa tylko nie są wysyłane e-maile do użytkowników. Gdy daje przypomnienie hasła pojawia mi się taki błąd:
Kod
Warning: Missing argument 4 for Mail::sendmail(), called in /home/poloniam/public_html/typer/classes/lostpassword/lostpassword.php on line 87 and defined in /home/poloniam/public_html/typer/engine/mail.php on line 10

Plik mail.php w 10 lini wygląda tak:
Kod
function Mail() {
            parent::SetLanguage('en',ROOT.'/external/phpmailer/language/');            
        }
        
        function sendmail($mailTo, $mailSubject, $mailContent, $isHtml) {
    
            $conf = new MailConf;            
            $mail = new PHPMailer;
            
            $mail->CharSet = 'iso-8859-2';
            
            $mail->IsSMTP();                                  
            $mail->Host     = $conf->host;
            $mail->SMTPAuth = true;
            $mail->Username = $conf->user;
            $mail->Password = $conf->password;
            
            $mail->From     = $conf->emailFrom;
            $mail->FromName = $conf->titleFrom;
            $mail->AddAddress($mailTo);
        
            $mail->IsHTML($isHtml);
            
            $mail->Subject  =  $mailSubject;
            $mail->Body     =  $mailContent;
            
            if(!$mail->Send())
            {            
               return false;
            }
                        
            return true;                        
        }        
        
    }
Natomiast plik lostpassword.php
Kod
$body .= $this->_generaterUrl($res['userid'], $res['useremail']);
            Mail::sendmail($res['useremail'], textSys('main:lostpassword:PRZYPOMNIENIE_HASLA'), $body);
            $this->status = textSys('main:lostpassword:MAIL_ZOSTAL_WYSLANY');[url]Jest tutaj jakiś błąd?[/url]


Teraz zobaczyłem że jest dopisane:
Cytat
1.

Skrypt działa dobrze, ale nie wysyła zadnych maili.

W pliku /engine/mail.php można wykomentować :

$mail->IsSMTP();

co powinno puszczać maile za pomocą funkcji mail(). Jest to rozwiazanie ciut gorsze, ale przynajmniej bedzie działać (powinno).


Czy ktoś wie o co chodzi z tym? Cały plik mail.php załączam poniżej.

http://s006.wyslijto.pl/?file_id=20315316336082396373
sf
z tego co pisze wynika, że nie podałeś 4 parametru i to się zgadza, dodaj na koniec true lub false i powinno być ok
kingpc
Nie rozumiem niestety o co chodzi sad.gif
kwiateusz
haha.gif bedzie szybciej...

zamień
  1. <?php
  2. function sendmail($mailTo, $mailSubject, $mailContent, $isHtml)
  3. ?>


na

  1. <?php
  2. function sendmail($mailTo, $mailSubject, $mailContent, $isHtml= false)
  3. ?>
kingpc
Błąd znikł, ale wciąż nie dochodzą wiadomości e-mail. Przy rejestracji nowego użytkownika nadal pisze:
Cytat
Rejestracja
NIE UDAŁO SIĘ wysłać maila


Admin skryptu napisał:
Cytat
Trzeba wykomentować jedną linijkę. Dodam że wykomentowanie dokonuje się poprzed dodanie

//

na początku danej linijki
kwiateusz
no i teraz przeczytaj koncowke swojego 1 posta.... dokłądnie to co jest zacytowane
kingpc
Autor skryptu napisał że miałem zamienić:

$mail->IsHTML($isHtml);
na :

// $mail->IsHTML($isHtml);

Tylko problem bo meile dalej nie przychodzą, a dalej pojawia się:
Cytat
Warning: Missing argument 4 for Mail::sendmail(), called in /home/poloniam/public_html/typer/classes/lostpassword/lostpassword.php on line 87 and defined in /home/poloniam/public_html/typer/engine/mail.php on line 10
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.