Autor Zpráva
Petr-K
Profil *
Zdravím,

potřeboval bych malou radu. Pokouším se odeslat pomocí phpmaileru registrační email, který obsahuje 3 odkazy:
<a href=\"http://www.xxx.com/index.php?page=login&activation_code=".$this->activation_code."\">AKTIVOVAT ÚČET</a>
<a href=\"http://www.xxx.com/index.php?page=registration&deactivation_code=".$this->DEactivation_code."\">zrušit registraci.</a>
<a href=\"http://www.xxx.com/\">xxx</a>

Při odeslání vše proběhne v pořádku, ale e-mail nepřijde. Pokud smažu z body mailu první dvě url, tak mi e-mail přijde.
Stejným skriptem odesílám podobný mail, který obsahuje dva odkazy (tento e-mail se však odešle i mi přijde do schránky):
<a href=\"http://www.xxx.com/index.php?page=login&code_pwd=".$this->activation_code."\">ZÍSKAT NOVÉ HESLO</a>
<a href=\"http://www.xxx.com/index.php?page=login&code_pwd=".$this->DEactivation_code."\">DEAKTIVUJTE</a>

Nastavení phpmailera:
    private function final_send_email(){                                
        $mail = new PHPMailer();     
    $mail->CharSet = "utf-8";
    $mail->Host = 'smtp.gmail.com';
        
        $mail->AddAddress($this->email);
        $mail->From = $this->email_from;
        $mail->FromName = $this->email_from_name;    
        $mail->Subject = $this->email_subject;
        $mail->Body = $this->email_body;
        
        $mail->IsHTML(true); 
    $mail->IsMail();
        $mail->SMTPSecure = "ssl";
        $mail->Port = 465;
        $mail->SMTPAuth = true;   
        
        $mail->Username = $this->system_email_address;
        $mail->Password = $this->system_email_password;
        
        if(!$mail->Send()){
          return "Chyba pri odesílání: " . $mail->ErrorInfo;
        }
        return true;
    }    

Můžete mi prosím poradit co se děje a jak mohu e-maily bez problémů odesílat?
Moc děkuji.
peta
Profil
S takovymi uryvky kodu asi neuspejes. Zkus pouzit echo pro zobrazeni, treba tam mas nejakou chybu. A nebo tvuj server nedovoli odeslat mail obsahujici 3 a vic odkazu. A nebo prekrocis limit poctu mailu. A nebo prekrocis velikost mailu. Mozna vyprsi carovy limit pro odeslani mailu. Kdo vi, jak mas nastaveny server. Ten kod se jevi ok.
Petr-K
Profil *
Ahoj,
tak samozřejmě, že echem jsem si vše už prošel a vše je v naprostém pořádku. Cestou pokusu omyl jsem došel k závěru, že mi nejdou odeslat maily kvůli zmíněným odkazům. Jinak ve funguje tak jak má. Takže se domnívám, že bude nějaká chyba na serveru nebo v nějakám pokročilém nastavení phpmaileru a zároveň jsem doufal, že někdo nějakou podobnou zkušenost.

Jak mohu otestovat věci které jsi vypisoval? Server nedovoli odeslat mail obsahujici 3 a vic odkazu. A nebo prekrocis limit poctu mailu. A nebo prekrocis velikost mailu. Mozna vyprsi carovy limit pro odeslani mailu.
peta
Profil
Neco se da zjistit v phpinfo.
Pocet odkazu v mailu se da nasimulovat pridanim hotoveho kodu pro body bez skladani pres php.
Mozna mas nekde omezeni velikosti mailu.
Problem je v tom, ze jsi dal uryvky z neceho a ne kompletni jednoduchy testovaci priklad, ktery si muzeme spustit a testovat. My to dopisovat do funkcniho kodu nebudeme. Takze to pak nemuzeme testovat a tim padem je odpovidani na takovy dotaz nezajimave. Na prvni pohled ten kod vypada ok, jpw obarvovani kodu se provedlo ok.
Zbytek se da vyresit s adminama serveru.

Phpmailer jsem tusim nikde nepouzil. Predpokladam vsak, ze s nim problem neni.
Z uryvku kodu neni jasne, co to vyplivne za html kod. Neni jasne, kam to davas a jak pouzivas.
Tak se na phpmailer vykasli a zkus si to odeslat normalni mail funkci, jestli to projde, ne? (ta samozrejme neresi cestinu a html kod bez uprav, ale aspon bys vedel, ze jako text se ti to odesle). Tez bych si to vypsal na obrazovku, co vlastne posilas v tech promennych.
http://cz2.php.net/manual/en/function.mail.php
example 2
<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
abc
Profil
Petr-K:
Zkus http://www.toolheap.com/test-mail-server-tool/

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: