Autor Zpráva
Dano V.
Profil *
Zdravím všetkých



Mám dva php skripty na serveri na odosielanie mailov z formulára. Fungovali mi tam už dlhšiu dobu, ale zrazu prestali fungovať. Tvária sa, že fungujú, posielajú oznámenie, že správa bola odoslaná, ale správa nikdy nedorazí. Keď som to reklamoval u správcov serveru, odpovedali mi, že je pravdou, že zmodernizovali program php, ale to nemá vplyv na funkciu skriptov. Že sa nato ešte nikto nesťažoval, okrem mňa. Keď ale tie isté skripty premiestním na iný server, tak tam fungujú bezvadne.



Jeden je obyčajný skript, ktorý odosiela pomocou

mail($komu, $predmet, $sprava, $hlava);,

druhý pracuje so súborom activeMailLib.php a odosiela aj prílohy. Som presvedčený, že skripty sú funkčné, ale som bezradný, čo mám urobiť, aby som znova spojazdnil skripty na tom serveri. Môže sa to stať, že jednému na tom istom serveri skripty fungujú a druhému nie?



Za radu ďakujem
Alphard
Profil
Kde se berou ty proměnné, nejsou z formuláře, není problém s register globals? Viz místní FAQ.
Anonnon
Profil *
No zkusit si vytvořit skriptík na odeslání mailu, abys věděl jestli se ti odešle, jestli ano, tak máš problém s proměnnými, jestli ne nastav si SMTP
<?php
if(mail('neco@kam', 'predmet', 'odesleme nejakou textovou zprávu....')) 
{ echo'Odeslano'; } else { echo'Chyba'; }
?>
Dano V.
Profil *
Alphard:
<?php
$predmet = $_POST['predmet'];
$komu = "niečo@gmail.com";
$meno = $_POST['meno'];
$ulica = $_POST['ulica'];
$cislo = $_POST['cislo'];
$mesto = $_POST['mesto'];
$email = $_POST['email'];
$text = $_POST['text'];

if ($meno && $mesto && $ulica && $cislo){

$sprava = "Meno = $meno<br>Ulica = $ulica<br>Smerové číslo = $cislo<br>Mesto = $mesto<br> $text";

$hlava = "Return-Path: <".$email.">\n";
$hlava .= 'mime-version: 1.0' . "\n";
$hlava .= "From: ".$meno. "<" .$email. ">\n";
$hlava .=  'Content-type: text/html; charset=windows-1250' . "\n";

$posli = mail($komu, $predmet, $sprava, $hlava);

echo "Váš <b>email bol</b> úspešne <b>odoslaný</b>!";

}
elseif (($meno && $mesto && $ulica && $cislo) == false){

echo "Váš <b>email nebol odoslaný</b>. <b>Nezadali ste všetky</b> povinné 
<b>údaje</b>.";
}
?>

To je sktipt, ktorý mi inde funguje. Alebo snáď novšie verzie php sa píšu inak?
Micruss
Profil
Testoval jsem ten skript na hostingu .... a odeslalo se to, pak i z localhostu a odeslal se také..
takže mě napadá jen jedna věc, jestli ty co ti poskytujou hosting nastavili správně SMTP
Dano V.
Profil *
Ďakujem všetkým za odpoveď, aspoň mám istotu, že to mám dobre. Nejakým spôsobom budem musieť poskytovateľa donútiť, aby si to nastavenie prekontroloval

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: