Portál AbcLinuxu, 10. května 2025 04:49

Dotaz: mail v php neodosiela emaily

1.2.2010 13:04 adrinko | skóre: 22
mail v php neodosiela emaily
Přečteno: 597×
Odpovědět | Admin
prosim Vas, pokusam sa na mojom servri odoslat email cez funkciu mail v php, funkcia skonci zdanlivo uspesne (ziadna chyba nevyskoci), ale email sa aj tak neodosle. co robim zle?

skusal som aj zadefinovat smtp v php.ini, i ini_set priamo v php skripte ale vysledok rovnaky. nula bodov.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.2.2010 13:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máte správně nastavený a funkční SMTP server pro odchozí poštu? Nehromadí se vám náhodou e-maily u něj ve frontě?
1.2.2010 13:25 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
prosim, ako to zistim? som linux newbie. nahodil som debian, nainstaloval apache, ssl pre apache, mysql. nastavenia errors v php mam taketo:

error_reporting mam E_ALL & ~E_NOTICE display_errors =on

a skript je: (inak musi byt ok, lebo presne ten isty skript mi na win masine funguje bez problemov) ini_set("SMTP","smtp.aa.sk"); ini_set("smtp_port","25");

$to="a@a.aa"; $headers = "From: =?utf-8?Q?aaa?= \n"; $headers.="Content-Type: text/plain; charset=UTF-8\n"; $headers.= "X-Mailer \n";

if (mail($to, "subjekt spravy", "telo spravy", $headers)) { echo "ok odoslane"; } else { echo "error pri odosielani"; }

prosim, ako zistim, ci sa mi vo fronte nehromadia emaily?
1.2.2010 14:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Máte tam nastavené odesílání přes smtp.aa.sk, což předpokládám není váš server. Pak záleží na tom, jestli třeba máte povoleno přes tento server e-maily posílat, zda není potřeba se k němu přihlašovat, nebo zda tento server sám nevyhodnotí vaše e-maily jako spam a nesmaže je sám.
1.2.2010 15:19 NN
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
mail -s test komu@foo.bar < /etc/issue

NN
1.2.2010 18:09 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Tím jste prosím dokázal co? Respektive jak to souvisí s tématem?
1.2.2010 18:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Předběhl jste mne. Původně jsem chtěl reagovat nějak podobně, ale pak jsem si řekl, že to ještě vydržím do příštího NNova komentáře. Protože korelace mezi obsahem komentáře, který je absolutně mimo, a tím, že autorem komentáře je NN, je značně vysoká. Skoro pokaždé u jeho komentářů přemýšlím o tom, že by to vedle tlačítka „Odpověď“ chtělo ještě tlačítko „Toto určitě odpověď není“. :-(
2.2.2010 00:49 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Chtěl jsem něco říct, ale raději neříkám nic.

NN prý rozplakal i Chucka Norrise.
2.2.2010 16:13 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Hm, jestli by to takhle náááhodou nedokázalo ověřit, jestli funguje posílání mailů z hostitelského stroje...
Quando omni flunkus moritati
2.2.2010 17:09 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Dokázalo by to ověřit konfiguraci příkazu mail, která je úplně jiná, než konfigurace odesílání e-mailu v PHP. Zlého skřítka, který si zasedl zrovna na e-maily a ty dál nepustí, tím sice odhalíte, ale to je asi tak všechno. Aby to k něčemu bylo, musíte vědět, jestli PHP rozesílá e-maily přes místní systém nebo přes jiný server, a tak daleko se tazatel evidentně nedostal.
1.2.2010 18:00 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
zjistíte to třeba ze syslogu (často /var/log/messages nebo nějaký vyhrazený log pro mail)
1.2.2010 18:07 Ash | skóre: 53
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Aha, vy to posíláte prostřednictvím jiného serveru (ini_set()), tak to ani nevím že to jde, já kvůli tomu bastlil nějakou SMTP třídu :)
1.2.2010 20:17 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
zdravim,

blokovanie na vzdialenom servri by nemalo byt, lebo ak to posielam z kompu s winom (rozumej OS je win a je tam nahodeny apache, php, atd) tak to prejde ok

uvediem este log zo sendmailu z debianu: http://pastebin.com/m51cd5da7

nemate niekto napad?
1.2.2010 21:02 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Zjistit, jaký je rozdíl mezi odesíláním z Windows a z Linuxu. Porovnejte si konfiguraci PHP pro odesílání pošty, při nejhorším si pusťte v obou případech Wireshark a porovnejte si SMTP komunikaci.
2.2.2010 13:16 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
dakujem vsetkym za usilovnu pomoc. nemal som uz na to nervy, tak som vykopol sendmail a nahodil postfix. na postfixe to tiez neslo, ale stacila zmena jedneho riadku v konfigurakoch (nazov domeny) a hned sa to rozchodilo :-)
2.2.2010 14:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Provozovat mailserver, když jej neumíte spravovat, není dobrý nápad. Když něco budete mít špatně, snadno bude váš počítač kde komu rozesílat spousty nevyžádané pošty. Doporučil bych raději použít SMTP server vašeho ISP.
2.2.2010 15:26 lukas
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
toto ma zaujima: mate nejaky konretny priklad + vysvetlenie? dakujem pekne
2.2.2010 16:15 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Jednoduše - když to špatně nakonfiguruješ a uděláš ze serveru open relay, tak kdokoliv odkudkoliv bude moci přes tvůj server odesílat poštu. (Tj. předají mu mail a ten server se ho potom pokusí doručit adresátovi.)

Věř tomu, že rozesílatelé spamů takový server najdou během pár dní, maximálně týdnů.
Quando omni flunkus moritati
2.2.2010 17:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Nemusí jít ani o openrelay, úplně stačí, když bude server nešťastně reagovat na příchozí e-maily nebo chybové stavy a bude zprávy o chybách posílat bůhvíkomu.
3.2.2010 12:17 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
ja som to potreboval iba na to, aby to odoslalo email z mojho php skriptu cez mail() za pouzitia smtp servra mojho prevadzkovatela. zakazal som v postfixe odosielanie emailov z ineho pc okrem jeho sameho (127.0.0.1), na iptables zakazem porty na smtp a myslim, ze by to uz malo byt "neprelomitelne" :-)
3.2.2010 12:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
A proč nepošlete mail z PHP rovnou přes server poskytovatele? Navíc v konfiguraci PHP jste měl nějaké jméno SMTP serveru, pokud to má jít přes místní server, očekával bych tam localhost nebo 127.0.0.1. Do třetice, smartrelay z Postfixu neuděláte změnou jednoho řádku v konfiguračním souboru. A za čtvrté, jakmile může Postfix odesílat e-maily, může škodit – třeba tím rozesíláním chybových hlášek.
3.2.2010 16:26 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
praveze mne to bez rozchodeneho postfixu neodosielalo emaily ani cez nadefinovane smtp v php skripte. (vlastne pred postfixom tam bol sendmail a neslo to) php sktip vtedy vyhodil chybu, ze to nejde odoslat. ked som tam dal postfix a zmenil v jeho konfigurakoch domenu, tak to zazrakom ide. v podstate nepotreboval by som postfix, ale len tak to odosiela emaily z php skriptu. ak by ste vedeli o elegantnejsom rieseni, bude len rad. vdaka
3.2.2010 16:42 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mail v php neodosiela emaily
Když něco z nepochopitelných důvodů nejde a pak to jako zázrakem začne fungovat, je něco špatně – a je dost pravděpodobné, že vám to zase nějakým záhadným způsobem fungovat přestane. Takže bych řešil to, proč to nešlo přes ISP odeslat – zda se vůbec navázalo spojení, jak komunikace vypadala, jakou chybu funkce vracela…

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.