Autor Zpráva
Pavel Batko
Profil
Nedávno jsem na své doméně, na které mám webovou prezentaci a phpBB fórum, začal používat hostovaný Microsoft Exchange server. S Exchange jsem spokojený, až na to, že mi fórum a kontaktní formulář na webu přestal posílat emaily. Jinak řečeno, maily, které PHP mail funkce zasílá na mou doménu, mi nepřijdou. Aktuálně to řeším tak, že jsem změnil adresáta emailů na Gmail, problém je ale složitější...

Přechodem na Exchange server jsem začal používat SPF (Sender Policy Framework, http://en.wikipedia.org/wiki/Sender_Policy_Framework), který bych nadále rád používal. Myslím si, že důvod, proč nechodí emaily na mou doménu, je, že PHP mail funkce odesílá emaily ze serveru mého poskytovatele a ne přímo z mé domény. Exchange používá SPF ochranu a příchozí email zkontroluje, jestli je z mé domény a jelikož je z domény mého poskytovatel, tak ho odmítne. Problém jsem aktuálně zaznamenal jen, co se týče odesílání emailů pro mě (tzn. na mou doménu), ale předpokládám, že postižených bude více. Pokud to dobře chápu, tak všichni uživatelé fóra, jenž se zaregistrují s emailovou adresou, která má také SPF ochranu, nedostanou např. aktivační email.

SPF jsem aktivoval přidáním TXT DNS záznamu s hodnotou:
v=spf1 mx ip4:216.134.213.64/28 ip4:66.129.85.128/27 ip4:66.129.95.112/28 ip4:216.26.142.96/28 –all

Pokud to chápu dobře, tak aby mi fungovala PHP mail funkce, tak stačí nějak upravit tento DNS záznam? Nebo existuje jiné řešení?

Předem díky za každý typ.
Pavel Batko
Davex
Profil
tak stačí nějak upravit tento DNS záznam?
Ano. Do SPF záznamu stačí přidat záznam pro IP adresu serveru, ze kterého se odesílá aktivační e-mail.

Další důvod, proč nepřicházejí e-maily může být v tom, že Exchange může blokovat příchozí e-maily, které přicházejí odjinud a z e-mailové adresy nebo domény, kterou sám obhospodařuje.
Pavel Batko
Profil
Další důvod, proč nepřicházejí e-maily může být v tom, že Exchange může blokovat příchozí e-maily, které přicházejí odjinud a z e-mailové adresy nebo domény, kterou sám obhospodařuje.

Mnohokrát díky za reakci.
Pokud jsem pochopil, co jsem o SPF četl, tak toto je právě princip SPF – Exchange blokuje vše, co přijde z domény s SPF záznamem a je to odeslané z jiné IP adresy a řekl bych, že Exchange v případě SPF neřeší, jestli je to jeho doména nebo cizí.

Takže pokud IP mého stroje je 123.123.123.123, tak TXT záznam bude vypadat takto:

v=spf1 mx ip4:216.134.213.64/28 ip4:66.129.85.128/27 ip4:66.129.95.112/28 ip4:216.26.142.96 ip4:123.123.123.123 –all

Předpokládám správně, že to číslo na konci (asi to bude port) nemusím zadávat?
Trochu jsem se podíval na SPF syntaxi a mělo by to být dobře, snad až na to, že jsem použil SPF validátor a ten mi řekl, že i ten původní záznam je špatně...
Davex
Profil
Zmiňoval jsem dvě různá a na sobě nezávislá nastavení. SPF se nastavuje jinde než univerzální zákaz od jakých odesílatelů nepřijímat poštu. Nevím jaké je nastavení Exchange po instalaci, ale může být zakázáno přijímat poštu zvenku, když je adresa odesílatele z vlastní domény.

Předpokládám správně, že to číslo na konci (asi to bude port) nemusím zadávat?
Číslo za lomítkem je délka prefixu (počet bitů síťové masky). Pokud je zadána IP adresa konkrétního stroje, tak se délka prefixu /32 nemusí zadávat.

Syntaxe by měla být správně a pokud validátor protestuje, tak by měl napsat důvod.
Pavel Batko
Profil
Díky moc za rady :-). S validátorem jsem to vyřešil, protestoval, protože jsem vložil navíc mezeru, čehož jsem si nevšiml. Díky!

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: