Autor | Zpráva | ||
---|---|---|---|
panterek Profil |
Můj problém je v podstatě v nadpisu...skript:
if (isset($_POST['odeslat_pripominky'])) { $pripominky = $_POST['pripominky_text']; $predmet = $_POST['predmet_pripominky']; $jmeno = $_POST['jmeno_pripominky']; $odeslani = Mail("muj.mail@domena.cz",$predmet,$pripominky,"From: ".$jmeno); if ($odeslani) echo "<h1> Odeslán </h1>"; else echo "<h1> Neodeslán </h1>"; } Jak to vypadá nebo nevypadá, to prosím neřešte, dělám v php druhý týden :) Jen by mě zajímalo, proč se mi ten mejl neodešle :( Tou kontrolou to prošlo, napíše mi: "Odesláno", ale mail mi nepřijde...nemá se ještě něco někde konfigurovat?? POP3 nebo tak něco? díky |
||
bohyn Profil |
#2 · Zasláno: 11. 5. 2009, 19:30:41 · Upravil/a: bohyn
panterek
Zkousis to na localhost nebo na serveru? Edit: Co obsahuje promena $_POST['jmeno_pripominky']? Jmeno, email nebo oboje? Do From hlavicky patri e-mail popripade "jmeno <email@example.com>" |
||
panterek Profil |
#3 · Zasláno: 12. 5. 2009, 06:47:18 · Upravil/a: panterek
Zdrojový kód toho odesílacího formuláře je tady:
A zkouším to na localhost...Tu hlavičku Form teda budu mít nejspíš špatně, ale zkoušel jsem to i bez ní.. <div id="kontakt"> <form method="post" action="index.php" wrap="off"> <table> <tr> <td> Jméno a Příjmení: </td> <td> <input type="text" name="jmeno_pripominky" size="20"> </td> </tr> <tr> <td> Předmět: </td> <td> <select name="predmet_pripominky"> <option value="pripominky">Připomínky</option> <option value="dotazy">Dotazy</option> </select> </td> </tr> </table> <br /> <textarea name="pripominky_text" cols="70" rows="15"> </textarea> <table> <tr> <td> <input type="reset" value="smazat"></td> <td> <input type="submit" value="Odeslat" name="odeslat_pripominky"> </td> </tr> </table> </form> Každopádně v tom php kódu, kde mám podmínku if ($odeslani), tak jsem si nechal vypsat, jestli je vše v pořádku, takže: echo $pripominky; echo $jmeno; echo $predmet a všechno mi vypíše..prostě jako by nefungovalo samotné odeslání či co.. |
||
jrm Profil |
#4 · Zasláno: 12. 5. 2009, 08:57:48
Máš v souboru php.ini v adresáři Woken zeditováno pro sebe:
... [mail function] ; For Win32 only. SMTP = smtp.server.cz smtp_port = 25 ; For Win32 only. sendmail_from = moje@adresa.cz ... ??? |
||
radas Profil * |
#5 · Zasláno: 12. 5. 2009, 09:43:59
panterek
možna ti to bloku antispam..zkus tam dat misto ´"From: ".$jmeno toto $od = "From:$jmeno \r\n"; $od .= "Reply-To:$jmeno\r\n"; $od .= "Content-Type: text/html;\r\n charset=\"UTF-8\"\n"; a volat celou funkci Mail("muj.mail@domena.cz",$predmet,$pripominky, $od); taky jsem měl s tím problém ale tohle mi to vyřešilo... |
||
panterek Profil |
#6 · Zasláno: 12. 5. 2009, 11:23:08 · Upravil/a: panterek
S tou proměnnou $od mi to vypsalo "parse error" a byl jsem zdechlý zkoumat chybu :)...ale každopádně ten parametr "from" není podmínkou...mám dojem...takže když ho vynechám, beztak by se mejl měl poslat....předpokládám...:) ...a jinak mám Linux, tady je ekvivalent php.ini co? :) Právě myslím, že by chyba mohla být v tom nastavení, jen nevím, kam tyto údaje v linuxu napsat.
|
||
jrm Profil |
#7 · Zasláno: 12. 5. 2009, 12:08:05
|
||
panterek Profil |
#8 · Zasláno: 12. 5. 2009, 13:20:56
Tak řádky jsem přepsal na:
[mail function] ; For Win32 only. SMTP = smtp.avonet.cz smtp_port = 25 ; For Win32 only. sendmail_from = moje@adresa.cz ..restartoval jsem apache..ale pořád nic kurnik :( |
||
bohyn Profil |
#9 · Zasláno: 12. 5. 2009, 14:43:13
panterek
Jeste zakomentuj radek "sendmail_path". Linux standartne odesila maily pres sendmail a nektere mailservery blokuji postu odesilanou pres domaci SMTP server. Zakomentovanim "sendmail_path" vynutis pouziti SMTP serveru co mas nastaveny. |
||
nightfish Profil |
#10 · Zasláno: 12. 5. 2009, 15:29:48
phpmailer řeší každý váš problém s posíláním mailů...
pro použití SMTP serveru v PHP je nutné, aby SMTP nepožadoval autentizaci, což ovšem z bezpečnostních důvodů není vhodné - pak je potřeba buď rozběhat a nastavit sendmail a nebo použít phpmailer, který se se SMTP autentizací umí vypořádat |
||
Časová prodleva: 3 dny
|
|||
PHP_Nemaster Profil |
#11 · Zasláno: 15. 5. 2009, 15:22:42
V tom mail musíš napsat malé písmeno. Mně třeba nefungovalo, když jsem místo $_POST napsal $_post - možná to bude tím.
|
||
tiso Profil |
#12 · Zasláno: 15. 5. 2009, 15:42:08
PHP_Nemaster - ???
|
||
Časová prodleva: 3 dny
|
|||
panterek Profil |
#13 · Zasláno: 18. 5. 2009, 06:32:57 · Upravil/a: panterek
Tak jsem se k tomu po dlouhé době dostal..phpmailer zní dobře, stáhnul jsem, ale byl tam návod na trochu starší verzi, u té nové se postupuje asi malinko jinak, tak to ještě zkouším...ještě mě ale napadlo, v linuxu slouží k posílání mailů výborná utilitka "mutt"...co kdybych jednoduše na posílání použil mnou vytvořený linuxový skript a vložil ho do php..? Něco jsem o tom četl, tuším, že by se to v php použilo jako...objekt??
EDIT: No...tak už to funguje..na netu jsem zabrouzdal a musel jsem přidat nějaké řádky, konečná funkční podoba je tahle: $hlavicky="From: ".'mail@odesilatele.cz'."\nReturn-Path:".'mail@odesilatele.cz'; $odeslani = @mail ("muj@mail.cz", $predmet, $pripominky, $hlavicky, "-f "."muj@mail.cz"); sice mi ta syntaxe zatím není moc jasná, konkrétně "-f "."muj@mail.cz"....ale tak to se snad taky někde dočtu, stejně tak, jako proč se mi neodešle text se správnou diakritikou :) každopádně kdyby někdo poradil, budu rád... moc všem díky za reakce... |
||
crook Profil * |
#14 · Zasláno: 19. 5. 2009, 10:05:16
Ad diakritika: Co mas v hlavicce za kodovani? Hlavicka je mezi tagy <head></head>
|
||
panterek Profil |
#15 · Zasláno: 19. 5. 2009, 19:54:38
No, právě že UTF-8...stránky mi s diakritikou normálně fungují...jen když si pošlu mail přes funkcni mail() , tak mi diakritika přijde do schánky špatně..
|
||
SwimX Profil |
#16 · Zasláno: 19. 5. 2009, 20:06:40
panterek
Nejčastější potíže s PHP #2 |
||
panterek Profil |
#17 · Zasláno: 20. 5. 2009, 07:29:55
To by mohlo fungovat, vyzkouším....díky
|
||
Jakub Strzadala Profil * |
#18 · Zasláno: 20. 5. 2009, 09:40:36
pardon, ale vložím se do daného problému, pokud odesíláte na localhostu v Linuxu musíte mít nainstalovanou aplikaci sendmail ;) či nějaký jiný SMTP server v linuxu. Bez toho to opravdu nepůjde.... a nechápu proč všichni tady odkomentováváte řádky, kde je jasně napsáno Win32 only a zakomentováváte sendmail_path, která tu je právě kvůli linuxu, a další věc, nepotkal jsem žádný server, který by mi blokoval Linuxový domácí SMTP server. Pokud je podle standartu, jako třeba sendmail
|
||
Časová prodleva: 16 let
|
0