Hledáme nového kolegu do redakce - 100% home office, 100% flexibilní pracovní doba. Více informací.
Využij akce až 80 % zdarma při nákupu e-learningu - více informací. Zároveň pouze tento týden sleva až 80 % na e-learning týkající se Swift
Avatar
Vojta Korduliak:15. března 21:34

Ahoj, chtěl bych na své stránce zprovoznit phpmailer, ale bohužel se mi to nedaří. Zkopíroval jsem menší kód z examplu, jenom abych zjistil, jestli to funguje a stalo se to, že nemám žádný error, stránka mi píše, že email byl odeslán, ale na email mi nic nepřišlo. (ano, zkontroloval jsem si správnou adresu v kódu). Používám free hosting od endory. Nějaký tip, proč to nefunguje? Předem děkuji.

Zkusil jsem: kód
Zpráva

 
Odpovědět
15. března 21:34
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:16. března 7:49

Php mailer nepouzivam.
Obecne, pro odesilani mailu je treba nastavit spravne hlavicky, from, reply, to. Ve tvem kodu mas v reply nejaky nesmysl a do hlavicek nenastavujes php mail (ale to mozna dela ten mailer).

// https://www.php.net/manual/en/function.mail.php

<?php
$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
// a jine examply...
?>

Tez je dobre pohlidat si kodovani a sifrovani hlavicky a body pro utf8.To mozna take dela za tebe ten phpmail. Nebo taky nee. Ale nejdriv si zkus verzi bez kodovani, zda ti prijde, viz predchozi kod. S tim, ze do from a reply das tu tvoji mailovou adresu. A jeste bych si nechal kopii odeslat na svuj ucet (do hlavicky pridat Cc, jako carbon copy)

<?php
$headers = 'Content-Type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n";
$subject = '=?UTF-8?B?' . base64_encode('Test email with German Umlauts öäüß') . '?=';
$recipient = '=?UTF-8?B?' . base64_encode('Margret Müller') . '?= <[email protected]>';
$message = base64_encode('This email contains German Umlauts öäüß.');

//nebo

<?php
function mail_utf8($to, $from_user, $from_email,
                                             $subject = '(No subject)', $message = '')
   {
      $from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";
      $subject = "=?UTF-8?B?".base64_encode($subject)."?=";

      $headers = "From: $from_user <$from_email>\r\n".
               "MIME-Version: 1.0" . "\r\n" .
               "Content-type: text/html; charset=UTF-8" . "\r\n";

     return mail($to, $subject, $message, $headers);
   }
?>

?>

Jinak, funguje to tak, ze na serveru ti bezi php a bezi ti mail sluzby. Php prikazem mail() predava data sluzbe mail. Pokud ti na serveru zadna nebezi, php vypise ok, mail jsem predal, ale mail se neodesle. Pokud to zkousis na localhostu, nemas u serveru mozna aktivovany mail. Pokud na webu, mozna tam take ne. Nicmene, je mozne odeslani mailu presmerovat pres cizi sluzbu, treba google.

// https://www.php.net/manual/en/function.mail.php
See Also

    mb_send_mail() - Send encoded mail
    imap_mail() - Send an email message
    » PEAR::Mail
    » PEAR::Mail_Mime
 
Nahoru Odpovědět
16. března 7:49
Avatar
Odpovídá na Vojta Korduliak
Martin Kašpar:16. března 12:14

A používáš tam neověřený Free (lite) nebo ověřený Free tarif? Jestli neověřený, tak můj tip je, že podle srovnání jejich tarifů nemá podporu funkce mail(). V té knihovně to nemusí nutně vyhodit chybu, protože oni to mohou řešit i tak, že ty zprávy pošlou interně do /dev/null, aby na tom zbytečně nepadaly špatně navržené webové aplikace.

 
Nahoru Odpovědět
16. března 12:14
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Martin Kašpar
Vojta Korduliak:17. března 17:31

Nejsem si úplně jistý, jestli mám to, nebo to. Každopádně to po mě žádné ověření nechce, takže předpokládám, že mám asi ověřený.

 
Nahoru Odpovědět
17. března 17:31
Avatar
Odpovídá na Vojta Korduliak
Martin Kašpar:17. března 18:02

Viz nápověda na webu.

Při založení nového účtu jsou všechny prostory s doménou automaticky založeny ve variantě Neověřený Free (Lite) a to až do ověření účtu. Při zakládání účtu na Endora.cz ve variantě Neověřený Free (Lite) ověřujeme pouze e-mailovou adresu.

 
Nahoru Odpovědět
17. března 18:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.