Nejste přihlášeni
Stránky 1
Z ničeho nic mi přestal fungovat na mých free stránkách kontaktní formulář. Po odeslání emailu se sice zobrazí, že došlo k odeslání emailu, ale do schránky mi nic nedorazí. Logy si nedokážu momentálně zobrazit (respektive teď nevím jak na to).
Kontaktní formulář mám k dispozici zde: http://czghost.4fan.cz/cz/contact
Je funkce mail() zakázána? Jak si mám udělat na stránkách kontaktní formulář?
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Dobrý den, prověřte si prosím jestli email nese všechny bezpečnostní prvky, tj SPF, DKIM a DMARC v DNS vaši domény a tyto jsou v emailu dodrženy. Test je možné provést na mail-tester.com děkuji
Offline
To nevím, jak bych dokázal udělat. Jedná se o email odesílaný jménem toho, kdo vyplňuje kontaktní formulář, z technických důvodů se používá Sender hlavička, která se nastavuje na moji Gmail adresu, a kontaktní formulář stále odesílá email na moji Gmail adresu (nebo se o to alespoň snaží). Sender hlavička se používá právě kvůli SPF. Ale nevím co se stalo, jestli došlo někdy ke změně buď v Googlu nebo u vás, protože aniž bych dělal jakékoliv změny v kontaktním formuláři, přestalo to fungovat. Formulář sice oznámí, že se email odeslal, ale email nedorazí. Takže SMTP server, ke kterému se funkce mail() připojuje, musel email odeslat a oznámit úspěšný pokus. Někde po cestě musela nastat chyba. Zřejmě je na vině Gmail, který nejspíš zavrhuje emaily, které jsou označené Sender hlavičkou s jinou emailovou adresou než tou, která je v hlavičce From. Google používá celou řadu obranných mechanismů na detekci spamu, a ty spamy, které se objeví ve spamové složce, jsou možná ani ne 1 % z celkového množství spamu, který se pokouší o spojení. Zdá se, že Google emaily odesílané mým kontaktním formulářem automaticky zavrhuje jako zjevný pokus o spam, díky té Sender hlavičce.
No nic, pokud na straně Endory není žádná chyba, pak to řešit nebudu. Stejně dělám nové webové stránky, které budou používat nový kontaktní formulář již s kontaktem na můj veřejný email, a celé webovky budou na nové adrese. Starou doménu třetího řádu ještě nechám běžet a udělám z toho přesměrování na subdoménu na mé nové doméně druhého řádu, kde bude kopie starého webu (kde ovšem znefunkčním starý kontaktní formulář a hodím do něj odkaz na ten nový).
Upravil marpolda (2025-09-02 15:10:07)
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Ale jednu věc jsem objevil při testování emailu ze svého kontaktního emailu na mé doméně, a sice, že DKIM zřejmě není správně nastaven. SPF projde, ale DKIM nikoliv. Nevím, jestli je to Outlookem (MS Office), protože mail tester mi neukázal žádný klíč, ani neříkal, že by byl klíč neplatný, prostě jako by neexistoval. Klíč tam přitom je.
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Dobrý den, php funkce mail() se nepřipojuje k žádnému SMTP. Odesílá to přímo webový server. Pokud používáte odesilatele vaši gmail adresu, tak tyto emaily server příjemce rovnou zahazuje, nejsou totiž odeslané z povolené IP adresy domény gmail a taktéž neobsahují další prvek, DKIM podpis. V poslední roky se tyto podmínky začali přísně dodržovat a již podvrhnutý email z nepovolených serverů prostě neprojde do cílové schránky.
Offline
Dobrá, poradíte mi tedy, jak mám nastavit kontaktní formulář, aby email v pořádku dorazil, prošel SPF a DKIM kontrolou a abych jako odesílatele viděl toho, kdo to poslal?
Jde mi o to, abych viděl hned v seznamu emailů odesílatele (jméno), předmět zprávy, a případně začátek této zprávy.
A v zobrazeném emailu, aby byla vidět emailová adresa odesílatele:
Email samozřejmě musí projít SPF i DKIM kontrolou, a musí být odeslán přes kontaktní formulář.
Co vyplňuje odesílatel na kontaktním formuláři je jméno, email, předmět a zpráva. Samozřejmostí je ochrana proti spamu captchou (Cloudflare Turnstile), a mám implementovanou i svou vlastní ochranu proti zneužití API endpointu (neboť nový kontaktní formulář bude využívat AJAX).
Jen dvě věci na světě jsou nekonečné: Vesmír a lidská hloupost. U toho prvního si však nejsem jistý.
- Albert Einstein
Offline
Stránky 1