IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: PHPMailer email odeslán, ale nic nepřišlo

Aktivity
Avatar
Vojta Korduliak:15.3.2021 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.3.2021 21:34
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:16.3.2021 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.3.2021 7:49
Avatar
Odpovídá na Vojta Korduliak
Neaktivní uživatel:16.3.2021 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.3.2021 12:14
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Vojta Korduliak:17.3.2021 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.3.2021 17:31
Avatar
Odpovídá na Vojta Korduliak
Neaktivní uživatel:17.3.2021 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.3.2021 18:02
Neaktivní uživatelský účet
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.