Autor | Zpráva | ||
---|---|---|---|
Petr-K Profil * |
#1 · Zasláno: 4. 12. 2012, 02:18:47
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 |
#2 · Zasláno: 4. 12. 2012, 08:11:42
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 * |
#3 · Zasláno: 4. 12. 2012, 11:20:11
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 |
#5 · Zasláno: 6. 12. 2012, 17:49:56
Petr-K:
Zkus http://www.toolheap.com/test-mail-server-tool/ |
||
Časová prodleva: 11 let
|
0