» Poradna » Programy

Jak odstranit duplicity emailů z webu

 |   |  Android Chrome 79.0.3945.136

Mám v indexu webu vložený script na odesílání upozornění, když registrovaný uživatel navštíví web. Ty emaily mi však chkfí duplicitně. Lze to nějak odstranit?Děkuji předem za odpověď. Magistr

Mohlo by vás také zajímat

Odpovědi na otázku

 | Microsoft Windows 10 Firefox 72.0

Jistě, v aplikační vrstvě zajisti, že je to posláno jen jednou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 79.0.3945.136

Nerozumím co je to "aplikační vrstva" a kde II n najdu.Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

Čeho jsi magistr?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 79.0.3945.136

Magistr Art

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

aplikacni vrstva je to misto, co ti to odesila duplicitne

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 79.0.3945.136

Ale jak to mám opravit tak, aby se odesílal jen jeden email?DěkujiMagistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 80.0.3987.100

Pořád mu to nedošlo

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 80.0.3987.106

Co tak ten "tajny" script upravit? :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 68.0

Už mu radili kolegové z jiné poradny: https://pc.poradna.net/questions/2977606-jak-ods...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Chrome 79.0.3945.130

Je to vůbec s ohledem na ochranu osobních údajů možné? Jako kdyby mě na to při registraci někdo upozornil, tak tam nikdy nevlezu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

Tak to by jsi nesměl chodit na hodně webů..

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 68.0

Podle Google se na to stejne pta po ceskem webu uz dva roky. Treba pred rokem tady: https://www.zive.cz/poradna/duplicitni-odesil...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

Měl jem tu sáhodlouhou odpověď o tom, jak se do core kódu nezasahuje, protože si tím způsobíš konflikt s aktulizacemi. Kam se mají podobné kusy kódu umisťovat a tak podobně. Ale prošel jsem si jiná starší témta k tomu webu a nemá to cenu. Takže stručně k řešení. Na konci (!) kódu $_SESSION["navstevaVRelaci"] != "ano" nemá být podmínka, ale nastvení hodnoty, aby se první if znovu nevykonal. Ten vykřičník před rovnítkem tam nepatří. Navíc je to ve špatné místě. Tahle část má být o jednu složenou závorku dál až před tou poslední.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android AppleMAC-Safari 5.0

A ty jsi kdo?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Microsoft Windows 10 Firefox 73.0

Magistr no. Kabaret

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 79.0.3945.136

Tak jsem tu část upravil takto: $_SESSION["navstevaVRelaci"] = "ano"a posunul to až před poslední složenou závorku. Ale stejně ty emaily přišly dvakrátCo s tím? Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

Předně začni tím, že celý ten blok kódu dáš pryč a ověříš, že se bez něj žádná notifikace neodešle.Pak jdi do složky "/wp-content/themes/(složka s názvem použité šablony)/" a na konec souboru functions.php vlož následující kód https://pastebin.com/RLd27UK1

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.99

Co prosím znamená "celý ten blok kódu"? Mám vymazat všechny rutiny i s funkcí mail()?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.99

Chci se zeptat: co vyjadřuje ta číslovky 25 na konci scriptu?add_action('init', 'mail_notification', 25);Děkuji za informaci. Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.99

Tak jsem v aktuální šabloně do souboru functions.php vložil tu futinu:function mail_notification($except = ['94.112.194.89', '127.0.0.1']) { $user = wp_get_current_user()->display_name; $hash = md5(!empty($user) ? $user : 'anonymous'); /** Pokud nejsou aktivní $_SESSION, aktivuj je */ if($_SESSION === null) session_start(); /** Pokud se uživatel přihlásil dodatečně, resetuj notifikaci */ if(isset($_SESSION['insessionmail']) && isset($hash) && $hash !== $_SESSION['insessionmail']) unset($_SESSION['insessionmail']); /** Pokud IP není vyjmuta, notifikce nebyla odeslána a request není na admin rozhraní, vytvoř notifikci */ if(!is_admin() && !in_array($_SERVER['REMOTE_ADDR'], $except) && !isset($_SESSION['insessionmail'])) { if(!empty($user)) { $message = 'Web právě ' . (strpos($user, 'ová') !== false ? 'navštívila' : 'navštívil') . ' ' . $user; } else { $message = 'Web právě navštívil nepřihlášený uživatel.'; } /** Pokud je notifikace rozhraním WordPress odeslána, nastav $_SESSION['insessionmail'] */ if(wp_mail('barveramartin@gmail.com', 'Nový návštěvník webu', $message)) $_SESSION['insessionmail'] = $hash; }}add_action('init', 'mail_notification', 25);Začaly mi chodit emaily z WordPressu, že web navštívil nepřihlášený uživatel. Takže jsem si moc nepomohl. Co s tím dál?Děkuji Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 10 Firefox 72.0

Máš to tak i v původním zadání kódu -> pokud není známo uživatelovo jméno, pošli notifikaci o anonymní návštěvě. Na web Ti chodí i spousta robotů, kteří tvoří nepřihlášenou návštěvu.Pokud se má posílat jen přihlášený uživatel se jménem, stačí k tomu tahle kratší verze https://pastebin.com/qYWcJDrK Uživatel ale musí mít svůj účet, vyplněné jméno a musí k němu být přihlášen, jinak se nic neodešle. Generální heslo není přihlášení. Všechno je to testováno proti aktuální verzi WordPress.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.99

Ta kratší verze je perfektní. Funguje to. Emaily chodí teď z adresy WordPress, vždy jenom jeden. Děkuji mnohokrát.S pozdravemMagistr

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 80.0.3987.99

Co prosím vyjadřuje ta číslovka 25 na konci scriptu?add_action('init', 'mail_notification', 25);Děkuji za informaci. Magistr

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: Registrovaný uživatel