Autor Zpráva
Jcas
Profil
Pomůžete mi prosím správně odeslat email.
test emailu

A tokto email posílám.
function autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // assume ISO-8859-2
    {
        return iconv('ISO-8859-2', 'UTF-8', $s);
    }
}

function cs_mail($to, $predmet, $zprava, $head = "")
{
    $predmet = "=?utf-8?B?". base64_encode(autoUTF($predmet))."?=";
    $head .= "MIME-Version: 1.0".PHP_EOL;
    $head .= "Content-Type: text/plain; charset=\"utf-8\"".PHP_EOL;
    $head .= "Content-Transfer-Encoding: base64".PHP_EOL;
    $zprava = base64_encode(autoUTF($zprava));
    return mail($to, $predmet, $zprava, $head);
}
    $mail = $row['email'];
    $predmet = 'Registrace do databáze chovatelů';
    $zprava = "Děkujeme za registraci.\r\n Pro dokončení registrace navštivte prosím následují odkaz\r\n http://www.zocschmoravskebranice.eu/DB-chovatelu/registrace.php?kod=".$row['kod']."&nick=".$row['nick']."&id=".$row['id'].'\r\n S pozdravem Jiří Cásek';    
    
    if (cs_mail($mail, $predmet, $zprava, "From: db-chovatelu@zocschmoravskebranice.eu".PHP_EOL)) {
        header("Location: konec.php?kod=".$row['kod']."&nick=".$row['nick']."&id=".$row['id']);    // přesměrovat na konečnou stránku
        exit();
        }    else { presmerujNaChybu(55); }        //Selhalo odeslání emailu...
Jcas
Profil
    $zprava = wordwrap(base64_encode(autoUTF($zprava)), 76, PHP_EOL, true);
    $zprava = "Děkujeme za registraci.\r\n 
    Pro dokončení registrace navštivte prosím následují odkaz\r\n 
    http://www.zocschmoravskebranice.eu/DB-chovatelu/registrace.php?kod=".$row['kod']."&nick=".$row['nick']."&id=".$row['id'].'\r\n
    S pozdravem Jiří Cásek';    
Toto dost pomohlo. Už mi ten test emailů hlásí jen 3 chybky. A těm opět vůbec nerozumím.

[SPF] zocschmoravskebranice.eu does not allow your server 89.185.253.72 to use info@zocschmoravskebranice.eu
Sender Policy Framework (SPF) is an email validation system designed to prevent email spam by detecting email spoofing, a common vulnerability, by verifying sender IP addresses.
You do not have a SPF record, please add the following one to your domain zocschmoravskebranice.eu:

v=spf1 a mx ip4:89.185.253.72 ~all
Need guidance? View guides for each host.

-1
[Sender ID] zocschmoravskebranice.eu does not allow your server 89.185.253.72 to use db-chovatelu@zocschmoravskebranice.eu
Sender ID is like SPF, but it checks the FROM address, not the bounce address.
You do not have a SPF record, please add the following one to your domain zocschmoravskebranice.eu:

v=spf1 a mx ip4:89.185.253.72 ~all
Need guidance? View guides for each host.

-1
Your message is not signed with DKIM
DomainKeys Identified Mail (DKIM) is a method for associating a domain name to an email message, thereby allowing a person, role, or organization to claim some responsibility for the message
.
RastyAmateur
Profil
Jcas:
V prvním a čtvrtým odkazu, který našel google se doporučuje použít PHPMailer. Možná bych to vyzkoušel...

Taky jsem to už jednou řešil s jedním chlapem, ale marně si vzpomínám na vysvětlení proč že to vlastně nejde. Pamatuji si jen útržky, že každý emailový systém (seznam, gmail,...) má nějaký ochranný algoritmus, podle kterého určí, zda-li je to spam nebo ne. Ale nejsem si tím plně jist... Na jiných stránkách zase píší, že to záleží na hlavičkách toho emailu...
juriad
Profil
RastyAmateur:
Jenže tady nejde o způsob odeslání, ale o ověření, že odesílatel je opravdu ten, který je uvedený, protože obecně si můžeš do hlavičky From napsat cokoli. Vytvořením asociace (spf) je garantováno, že e-mail odeslal server (a tedy nejspíš i odesílatel), který k tomu má oprávnění.
Prosím, zvaž své odpovědi, zda jsou opravdu hodnotné. Oceňuji, že se snažíš pomáhat a vyjadřuješ svou nejistotu, ale často jsi mimo a bývalo by lepší kdybys vůbec neodpověděl.

Jcas:
Mělo by stačít přidat v DNS záznam typu TXT záznam. Takový ti byl i doporučen. Přečti si o tom na wikipedii a douprav si ho podle svých představ.
Jcas
Profil
juriad:
Děkuji, už to louskám dvě hodiny a snažím se zjistit, co tím chtěl ten anglickej básník říct.
Co o tom vím je, že DNS je něco, co k IP přiřadí slova (něco ve stylu 60200 - Brno město). Ale kde to je, kdo to spravuje, kde se to spravuje, jak se tam dávají ty data? Já přece nemůže někde na nějakým serveru, který spravuje nějaké domény zadávat nějaký txt záznam.?????
juriad
Profil
Někde jsi kupoval doménu (zocschmoravskebranice.eu) ke svému hostingu. U tohoto registrátora se přihlásíš ke svému účtu. Tam najdeš nějaké záznamy, nejspíš typu A, AAAA, MX a možná další. Ty musíš přidat nový záznam typu TXT.
Je možné, že jsi doménu dostal přímo od svého hostingu, pak to zkus udělat v administraci hostingu. Případně kontaktuj hosting.
Jcas
Profil
juriad:
Děkuji, jdu hledat k hostingu.
ps. Co to způsobí? Nastaví se, že jakýkoliv počítač (jakýkoliv návštěvník stránek) může odeslat email přes můj web a tak hackeři začnou přes můj web odesílat spamy.

Trochu to nechápu. PHP běží serveru (na hostingu), takže dle mě odesílá email vždy stejný počítač. Proč se počítač, na který je web tváří jako někdo jinej, než ten kdo posílá email?
juriad
Profil
Říkáš tím, že e-mail od něco@zocschmoravskebranice.eu smí odeslat jen ten počítač tvého hostingu a přijde-li od někoho jiného, s vysokou pravděpodobností se jedná o podvrh.
Kdokoli, komu přijde e-mail od něco@zocschmoravskebranice.eu, si to může zkontrolovat právě pomocí tohoto záznamu v DNS.
leorond
Profil
Někde jsem četl že pokud budu mít hosting u nějaké společnosti a někdo jiný odesílá spamové maily přes ten samí poštovní server tak i mé maily které odesílám budou přistávat ve spamovém koši.

Je to pravda? Znamenalo by to že jediné řešení je používat vlastní poštovní server že?
juriad
Profil
leorond:
Ano, špatná reputace IP adresy může být považována za negativní signál. Ale téměř vždy platí, že mail není považován za spam jen na základě jednoho signálu.
Máš-li takové podezření, kontaktuj svůj hosting a domluv se s ním. Je to i v jejich zájmu, aby nikdo z jejich klientů nespamoval. A ano, jediné spolehlivé řešení je mít vlastní server.
Jcas
Profil
juriad:
Takže abych to shrnul. (jestli jsem to pochopil dobře)
- doména + hosting: poskytuje jedna firma, nebo to můžou být dvě.
- Takže se bavíme o jednom až dvou počítačích.
(samozřejmě přístup laika. Můj web má data uložené ne serveru = v mých očích je to jeden počítač. To stejné doména. Někde musí být uloženy a někde musí být info o tom. To je ten druhý počítač. A v případě jedné firmy by to mohl být jeden a ten samý počítač)
- Tento 1-2 počítače jsou připojeny přes 1-2 IP adresy.
- Na jednom z těchto dvou počítačů jsou nějaké záznamy DNS (dejme tomu, že můžou být jinde), které říkají světu, že zocschmoravskebranice.eu vstupují do světa internetu z tohoto 1. nebo 2. počítače a pod touto IP adresou.
- A já musím ručně přidat záznam na jeden z těchto dvou počítačů, že email, kterej příchází z zocschmoravskebranice.eu, přichází z jednoho z těchto dvou počítačů a z této IP adresy?????

Takže to prostě stále nechápu. Připadá mi to, jako kdyby mi každý den přinesla pošťačla dopis na mou adresu a kdybych jí já jednou dal dopis na odeslání, tak bych jí musel svou adresu sdělit, aby věděla odkud to odesílám. Není to uchýlné, když mou adresu zná a každej den mi tu poštu doručuje?
leorond
Profil
Ber to tak že člověk má samostatné a jedinečné myšlení které se počítači nemůže rovnat, počítač řídí systém který je nastaven aby ochránil své klienty před nevyžádanou poštou dejme tomu od různým marketingových společností které rozesílají nějaké nezajímavé věci.

Podle mne co mám ozkoušeno tak jsem byl u společnosti kde jsem měl hosting a doménu z které jsem odesílal novinky přímo na mail. U této společnosti byla jedna nejmenovaná společnost která mi posílala nevyžádané maily a tak jsem ji označil za spam a od této chvíle mi chodily i mé maily do spamového koše.

Vyřešil jsem to tak že jsem po domluvě s poskytovatelem změnil DNS a pomohlo to, dnes využívám VPS, weboví server a vlastní poštovní server a všechno je naprosto v pořádku.


Navíc se technické oddělení nabídlo že mi záznamy sami upraví nebo mi poradí jak tuto změnu provést, jak tu již bylo zmíněno je to i v jejich zájmu.
juriad
Profil
DNS je více-méně centrální systém, který říká, že pro tvůj web zocschmoravskebranice.eu existují následující záznamy:
zocschmoravskebranice.eu has address 89.185.253.72
zocschmoravskebranice.eu has IPv6 address 2a01:430:36:1::253:72
zocschmoravskebranice.eu mail is handled by 20 mxbackup.skok.cz.
zocschmoravskebranice.eu mail is handled by 10 mx.skok.cz.

Českou doménu .cz a vše, co je pod ní, spravuje CZ.NIC
Registrátor je zástupce CZ.NIC, který má na nabízení domén postavený vlastní business.
Doménu přímo od CZ.NIC si nemůžeš pořídit.
Seznam všech registrátorů je na stránkách CZ.NIC.
Kdokoli další, kdo nabízí domény ve skutečnosti zprostředkuje obchod nějakému registrátorovi.
Všichni registrátoři předávají pravidelně všechny záznamy CZ.NIC a sami se vlastně starají jen o komunikaci s klienty.
Kde jsou ty záznamy fyzicky umístěné, tě vůbec nezajímá.

Hosting je úplně jiný subjekt, který zároveň může být registrátorem domén nebo sám může nabízet domény.
Hosting vlastní hromadu počítačů (všimni si, že tady poprvé zmiňuji počítače) a pronajme ti diskové místo a výpočetní čas na některém z nich.
Předá ti vlastně tvé přihlašovací údaje a IP adresu toho počítače.
Je na tobě, aby sis zajistil přístup na ten počítač pomocí domény.
To uděláš tak, že kontaktuješ toho, od koho máš doménu (často je to stejná osoba jako hosting) a vytvoříš v DNS záznam pro svou doménu - nasměruješ ji na tu IP adresu.
Často, když si pořídíš hosting i s doménou je toto nastavení provedeno automaticky.
Tato změna se následně předá CZ.NIC, který ji promítne do samotného systému DNS.

A protože DNS je obecnější systém, tak umožňuje několik různých typů záznamů.
Ty máš třeba ještě nastavený záznam typu MX (kam doručovat e-mail).
Když tedy pošleš e-mail, vyhledá se pro doménu MX záznam a podle něj se zpráva doručí.
Když někdo chce poslat e-mail na něco@zocschmoravskebranice.eu, najde se v DNS, že ho má předat serveru mx.skok.cz, který se o zbytek postará - předá ho přímo tobě, protože nejspíš ten server patří tvému hostingu.

A teď druhá strana.
Evidentně ti může poslat e-mail kdokoli a jak víš z PHP, tak do From může napsat co chce.
Můžeš snadno podvrhnout hlavičku From, ale nemůžeš podvrhnout, z jaké IP adresy byl e-mail odeslán.
Když v PHP použiješ funkci mail, e-mail se předá nějakému programu, který zajistí jeho odeslání.
Přestože hosting může mít tisíce počítačů pro běh PHP, může mít jen pár vyhrazených k odesílání pošty, to je jeho věc.
Ty jako zákazník hostingu nemáš přímou kontrolu nad tím, jak se e-mail odešle.

Aby se zabránilo podvodům při doručování e-mailů (falešná hlavička From), přidal se do DNS nový typ záznamu SPF (často také zapisovaný do TXT), který slouží pro její kontrolu.
Když jej nastavíš, říkáš tím, že e-maily, které mají v hlavičce From tvoji doménu mají/musí pocházet z nějaké IP adresy = odesílací server tvého hostingu.
Antispamový filtr, když dostane e-mail, se podívá do DNS po SPF záznamu a zkontroluje ho s IP adresou odesílatele a podle toho se rozhodne, zda e-mailu nastaví dobré nebo špatné hodnocení.
Antispam vždy zvažuje mnoho různých parametrů, další z nich může být, zda je IP adresa na seznamu znamých odesílatelů spamu, o tom převážně mluvil leorond.

Chceš-li si nastavit SPF záznam, zeptej se svého hostingu, z jaké IP adresy jsou/budou tvé e-maily odesílané; toto je často možné odpozorovat z odeslaných e-mailů.
Pak si navrhni znění svého SPF záznamu (to najdeš třeba na wiki); a dokonce ten mail-tester.com ti radí, jak ten záznam může vypadat.
Pak kontaktuj toho, od koho máš doménu s tím, že chceš přidat nový záznam; obvykle se stačí přihlásit do nějaké administrace a tam to naklikat.

Ber to tak, že pošťačka ti vždy může doručit dopis, o to se starají ty MX záznamy.
Ale ty samozřejmě můžeš poslat doporučený dopis třeba z Prahy do Brna a tvářit se jako Ostravská firma.
V Brně pak zjistí, že dopis byl odeslán z jiného místa, než kde firma sídlí (to je ten SPF záznam) a budou se k němu chovat jako ke spamu.
Jcas
Profil
Blick, už se mi asi rozsvítilo. Díky moc za vysvětlení.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: