Jump to content
GSForum - Segélyvonal

E-mail küldõ php


Recommended Posts

Posted
Este beszámolok! :fal::P:D
Posted

Megnéztem, mûködik tamasir-é is!

Annak ellenére, hogy tele van sallanggal.

:D

Posted

Sajnos a kettő közül egyik sem működik. :Sír:

 

A kódban, amit átírtál az én e-mail címem van. Tehát nem kell át írnom. A válasz megérkezett a fiamnál, nyugtázta az elküldést, de az e-mail nem érkezett meg hozzám. Ezután átírtam a kódot, a posta címet kiszedtem, újra feltettem. Semmi! :upsz:

Így néz ki a kód:

 

<?php 
if(isset($_POST["nev"])){
    if( trim($_POST["nev"]) !=="" AND trim($_POST["posta"]) !=="" AND trim($_POST["email"]) !==""){
    //Írd be az email-címedet:
$mymail = "freewebsablon@cjb.hu";
/* HTML levél küldése a Content-type fejléc megadásával */
   $targy = "Értesítés";
    $fejlec = "MIME-Version: 1.0\n";
    $fejlec .= "Content-type: text/html; charset=iso-8859-2\n";
    /* további fejlécek Itt beállithatod mit írjon feladónak */
    $fejlec .= "From: ".trim($_POST["nev"])."<".trim($_POST["email"]).">\n";
    /* üzenet */
    $uzenet= '<HTML><HEAD><TITLE>Üzenet</TITLE>
    <STYLE type=text/css>
    body {
    font-family: Arial, Verdana, Tahoma; font-size: 13px; text-align: justify;
    margin-left: 20px;
    padding: 10px 0 10px 0;
    .center{
    vertical-align:top;
    }

    }
    </STYLE>
    <META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
    <META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
    <BODY>';
    //Az üzenet tartalma
    //Megszólítás
    $uzenet.="Hali!<br/><br/>";
    $uzenet.="Oldaladról a következő email érkezett.<br/>Szöveg: ".trim($_POST["szöveg"]);
    $uzenet.="<br/>Küdte: ".trim($_POST["nev"])."<br/>";
    $uzenet.="<br/>Email címe :".trim($_POST["email"]);
    $uzenet.="</BODY></HTML>";

           if(@mail($mymail,$targy,$uzenet,$fejlec)) {
        $uzenet="A levél sikeresen elment.";
            }
             else
             {
         $hiba="Szerver hiba! A levelet nem sikerült elküldeni!";
              }
    }else{
    $hiba="Sajnos valamely mező üresen maradt!";
    }
}                            
?>
<!--
    ******************************************
    *     A php és mysql scripteket írta:                     *
    *              Mezőfi István                                     *
    *       http://www.mezofi.com/segedletek.htm      *
    ******************************************
-->
<html>
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<script type="text/javascript" language="javascript">
    function checkmail(hol) {
    if(hol.nev.value ==""){
    alert('Üres a név mező');
    hol.nev.focus();
    return false;
    }
    if(hol.posta.value ==""){
    alert('Üres a posta mező');
    hol.posta.focus();
    return false;
    }
    
        var re_mail=/^([a-zA-Z0-9_\.\-])+@([a-zA-Z0-9_\-\.])+(\.[a-zA-Z]{2,4})$/;
        var mailfield = document.getElementsByName("email");
        if(!re_mail.test(mailfield[0].value)) {
            alert('Nem megfelelő az e-mail cím, vagy üresen hagytad a beviteli mezőt! !');
            hol.email.focus();
            return false;
        }
    }
</script>
</head>
<body>
<?php  if(!isset($_POST["nev"]) || isset($hiba)){
             if(isset($hiba)){
             echo $hiba;
             }
?>
              
                <form action=" index.php?oldal=sikeresmail " method="post" name="mailer" onsubmit="return checkmail(this);"><br/>
                <fieldset><label accesskey="n" for="id_nev"><strong>Ide írja a nevét:</strong><br />
                <input id="nev" type="text" name="nev" value="<?php echo $_POST["nev"]; ?>" /><br /><br />
                </label><label accesskey="e" for="id_email"><strong>Ide írja az e-mail címét:</strong><br/>
                <input id="email" type="text" name="email"value="<?php echo $_POST["email"]; ?>" /><br /><br />
                </label><label accesskey="u" for="id_uzi"><strong>Ide írja az esetleges üzenetét:</strong><br />
                <textarea id="uzi" name="uzi" rows="5" cols="30" /><?php echo $_POST["uzi"]; ?></textarea><br /></label><br />
                <input type="submit" name="rendeles" value="Üzenet küldése" accesskey="s" /><br/>
                </fieldset>
                </form>
  <?php }else{
  print($uzenet);
  } ?>

A végéről leszedtem </body></html> mert a validator hibát írt. Hol a hiba!? A másikat is feltettem, az jobb, mert a validator csak egy hibát jelez és a kinézete is jobb. Csak e-mailt nem küld, más gépéről sem. Most az van fent.

Itt a lapomon. :(

Posted

Amit linket megadtál, ott nem ez a kód van, mert pl a form át van irányítva a mail.php-re. Ha az általam leírt kódot berakod egy üres lapra, aminek index.php nevet adsz, és kipróbálod, akkor észreveszed, hogy működik a lap. De szétszeded és az alakotó részeit külön külön lapokon tartod, de nem is tudod mi miért van, akkor valószínüleg nem fog működni, mint ahogy a példa mutatja.

 

Ezért én mindig önállóan próbálok ki dolgokat és csak az után integrálom egy nagy lapra, mert ha ott nem megy, akkor biztos hogy nem a scriptnek van baja, hanem a kettő együtt valami gondot okoz. :D

 

De a scriptben megtalálod a segédleteim internetes címét, ott találsz két egyszerű email küldési leírást is. :P

Posted

Mezőfi !

Azért adtam meg a linket, mert megjelenésében és Validitásban is az lenne a jobb. De nálam az sem müködik. :S Ezért van a mail.php-ra irányítva a form. Megnéztem a lapodat, de ott csak olyan leírásokat találtam, amelyek nem weblapba beépítésre valok. Vagy én nem ismertem fel, hogy melyik az? :lol:

Posted

Sikerült megoldanom!

Találtam egy komplett e-mailküldő html és php kódot.

Csak saját adataimat kellett kitöltenem és a html kódot bemásolnom a weblapom php oldalára. Az e-mail rendre megérkezik. Siker! Itt megtalálható és ingyen letölthető a script ha valakit érdekel. És még Validdá is lehet tenni.

Link :P:kávézik:

  • 2 months later...
Posted

Sziasztok!

Nekem az a gondom, hogy elkészítettem egy weboldalt, ahol van ûrlap küldésére lehetõség. Nem e-mailben, hanem php-ben szeretném feldolgozni. El is készítettem a php oldalt, de amikor rámegyek a Küldés gombra, nem küldi el, hanem kiírja a php oldal tartalmát. Mi lehet vele a gond? Már mindent átnéztem, de egyszerûen nem találom a hibát. A másik pedig az, hogy az ûrlapküldõ oldalon mindig felhozza a blokkolt tartalom engedélyezése csíkot. Bemásolom a php-t, hátha valaki tud segíteni.

<HTML>

<BODY> <CENTER>

<H1 ALIGN=center>Köszönjük, hogy elküldte üzenetét!</H1>

 

<?php

echo "Kedves <B>".$_POST["nev"]."!</B><BR>";

echo "<BR>"; echo "Öntôl a következô adatok érkeztek be hozzánk:<BR>";

echo "<B>Név: </B><I>".$_POST["nev"]."</I><BR>";

echo "<B>E-mail cím: </B><I>".$_POST["mail"]."</I><BR>";

echo "<B>Egyéb: </B><I>".$_POST["egyeb"]."</I><BR>";

 

 

function levelkuld()

{

$cimzett = "e-mail cimem@xy.hu";

$targy = "Levél jött";

$uzenet = "Levél érkezett a weblapról!\n";

$uzenet .= "A feladó neve: ".$_POST["nev"]."\n";

$uzenet .= "A feladó email címe: ".$_POST["mail"]."\n";

$uzenet .= "A feladó közleménye: ".$_POST["egyeb"]."\n\n";

 

mail($cimzett, $targy, $uzenet,"From:i<i@i.hu>");

}

 

levelkuld();

 

//az új adatok hozzáfûzése a szövegfájlhoz

$f=fopen("adatok.txt","a");

$sor=$_POST["nev"]."\n".$_POST["mail"]."\n".$_POST["egyeb "]."\n";

fputs($f,$sor); fclose($f);

 

?>

 

</BODY>

</HTML>

 

Üdvözlettel.

Posted

Nem tiltja ezt véletlenül a szolgáktató??? :hmm::ötlet:

Posted

Szia!

Köszi a választ. A szolgáltató a vnet. Ill. ez a kiszolgáló neve. Hol lehet ezt megnézni? Ill. mit lehet ilyenkor csinálni?csutka.

Posted

A szkript teljesen jó. Nem volt egyszerű rájönni, de a hibát az okozhatja, hogy nem jó karakterkódolással van a fájl elmentve. Notepadban ANSI-ra állítva nekem teljesen működik, de ha unicode készlettel mentem el, akkor a szkript nem fut le a szerveren, hanem megjelenik a böngészőben a tartalma. Nem tudom milyen szerkesztőt használsz, de valami ilyesmi változtatásokkal próbálkozz, mert tartalmilag a szkript jó.

 

A mail() függvény használata le lehet tiltva az ingyenes szolgáltatóknál, és jobb esetben ezt nem is mondják meg, csak empirikus úton jössz rá. De ezzel most még ne foglalkozz, mert előbb azt kell elérni, hogy a szkript egyáltalán lefusson a szerveren. :)

Posted

Kedves Level!

Köszönöm a választ, csak olyan mintha kinaiul írtad volna. :D Megpróbálom felfogni és kipróbálni. Mit értesz karakterkodoláson? A php megírásához a NuSphere PhpED-et használom. Az oldalt pedig frontPage-ben szerkesztettem. Itt kell megváltoztatnom a kódolás módját? Bocs.

Posted

Sose láttam még FrontPage-t, úgyhogy erre sajnos nem tudok érdemi választ adni, csak azt, hogy próbálgasd. :upsz: De szerintem ott lehet ezen állítani. A többi php szkripted, amiket korábban csináltál, azok mûködnek gond nélkül?

 

Esetleg megpróbálhatod azt is, hogy a problémás fájlt megnyitod Notepadban, és a Mentés másként alatt felkínál néhány lehetõséget a karakterkódolásra, ott állítsd át, mentsd el, töltsd fel, és meglátod.

 

Még egy kérdés, a fájl ugye .php kiterjesztésben van elmentve?!

Posted

Szia!

Ez az elsõ. Ezért is vagyok ilyen nagy gondban.A php az php :D Köszönöm az ötleteket. Mindjárt kipróbálom.

Posted

@ Level: A FrontPage olyan szerkesztõ, mint a DreamWaver, ha ez segít.

@csutka: Ez így elég nehéz lesz. A karakterkódolásokat nagyon nem értem (nem ismerem a PHP-t, csak pár dolgot), de az a lényege, hogy másféleképpen kódolja a karaktereket a PHP scripted, mint a szabvány. Az ANSI az elfogadottabb. Ha te szerkesztetted a kódot, akkor nézd át újra, ha nem, akkor olvasd el a hozzá tartozó szöveget a letöltés helyén. Próbáld meg a HTML részbe beírni a kódtábla típusát (UTF 8). Akkor talán le fog futni...

 

Posted

Köszi szépen. Próbálkozok és jelentkezek, ha van valami.

Posted

@csutka

Bár nekem is Mûködik így ahogy van a script. azért érdemes megpróbálni a következõ sort lecserélni:

mail($cimzett, $targy, $uzenet,"From:i<i@i.hu>");

Erre:

mail($cimzett, $targy, $uzenet,"From:i<i@i.hu>\n\r");

 

Próba szerencse. Tárhelye változtatja.

De az is lehet, hogy nincs is engedélyezve a Php futtatása a szervereden.

 

Posted

Szia!

Megpróbálom. Köszi. csutka

 

Tudom,hogy írtó béna vagyok, de ezt írja ki.

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Melinda\Oszi\visszaig.php on line 22

 

Az smtp-hez az én szolgáltatómat kell beírni, vagy pedig ahova fel akarom tölteni?

Posted

A tárhely szolgáltatód smtp szerverének a címe kell oda.

Posted

@csutka

 

Azért azt nem árt tisztázni, hogy nem saját géprõl szeretnél emailt küldeni, ugye?

Hanem a neten egy szolgáltató szerverérõl próbálkozol.

Bár szerintem sajátgéprõl akarod nyomni, és ez lesz a hiba.

 

 

Posted

Szia!

De :( bár próbáltam azt is, hogy feltöltöm a netre és ott próbálkozom, de ott sem jött össze. Nem tudod honnan lehetne letölteni olyan oldalt, ahol nme is az hogy kész kód legyen, csak legalább megértsem mi a probléma vele.Üdv.

Posted

Sajátgéprõl ne is próbáld.

 

Ingyenes szerverrõl próbáld ki.

Pl:

www.uw.hu

 

Ilyen scriptet, leírást találsz az én oldalamon is.

Itt a cím.

:D

Posted

Igen, az nem olyan fontos, hogy mi van saját gépen. (Az enyémen pl. a mail függvény visszatérési értéke mindig TRUE, pedig a gép nincs is rákötve az internetre. :D )

A szkript, amit fent bemásoltál, többünknek mûködött, tehát jónak kell lennie. Jó lenne, ha kicsit konkrétabban is leírnád, mit jelent az, hogy "nem jött össze".

Posted

Sziasztok!

Kipróbálom mégegyszer és megírom mi is a gondom. köszi a figyelmet és a segítséget.

Posted

Tehát: van egy html oldalam aminek a HEAD részében van ez a script

<script language=JavaScript>

<!--

function adatell(obj)

{

if (obj.nev.value == "")

{

window.alert("Név kitöltése kötelezõ!");

obj.nev.select();

return;

}

 

if (obj.mail.value == "")

{

window.alert("email cím kitöltése kötelezõ!");

obj.nev.select();

return;

}

 

if (obj.egyeb.value == "")

{

window.alert("Egyéb kitöltése kötelezõ!");

obj.nev.select();

return;

}

obj.submit();

}

//-->

</SCRIPT>

Majd a alatta a BODY részben van ez:

<FORM name=jelentkez action=visszaig.php method=post>

<div align="center">

<TABLE bgColor=#ECE9D8>

<TBODY>

<TR>

<TD>

<h1><font color="#003399" size="3">Név:</font></h1>

</TD>

<TD><INPUT size=40 name=nev></TD></TR>

<TR>

<TD>

<h1><font color="#003399" size="3">E-mail:</font></h1>

</TD>

<TD><INPUT size=40 name=mail></TD></TR>

<TR>

<TD>

<h1><font color="#003399" size="3">Üzenet:</font></h1>

</TD>

<TD><TEXTAREA name=egyeb rows=5 cols=40></TEXTAREA></TD></TR></TBODY></TABLE>

</div>

<BR><BR>

<P align=center>

<INPUT onclick=adatell(jelentkez) type=button value="Küldés" style="color: #003399; font-weight: bold">

<INPUT type=reset value=Törlés style="color: #003399; font-weight: bold"></P></FORM>

És van a visszaig.php

<HTML>

<BODY> <CENTER>

<H1 ALIGN=center>Köszönjük, hogy elküldte üzenetét!</H1>

 

<?php

echo "Kedves <B>".$_POST["nev"]."!</B><BR>";

echo "<BR>"; echo "Öntôl a következô adatok érkeztek be hozzánk:<BR>";

echo "<B>Név: </B><I>".$_POST["nev"]."</I><BR>";

echo "<B>E-mail cím: </B><I>".$_POST["mail"]."</I><BR>";

echo "<B>Egyéb: </B><I>".$_POST["egyeb"]."</I><BR>";

 

 

function levelkuld()

{

$cimzett = "e-mail cimem@xy.hu";

$targy = "Levél jött";

$uzenet = "Levél érkezett a weblapról!\n";

$uzenet .= "A feladó neve: ".$_POST["nev"]."\n";

$uzenet .= "A feladó email címe: ".$_POST["mail"]."\n";

$uzenet .= "A feladó közleménye: ".$_POST["egyeb"]."\n\n";

 

mail($cimzett, $targy, $uzenet,"From:i<i@i.hu>");

}

 

levelkuld();

 

//az új adatok hozzáfûzése a szövegfájlhoz

$f=fopen("adatok.txt","a");

$sor=$_POST["nev"]."\n".$_POST["mail"]."\n".$_POST["egyeb "]."\n";

fputs($f,$sor); fclose($f);

 

?>

 

</BODY>

</HTML>

Bocsánat, ha hosszú voltam, de csak így tudtam érzékelteni a problémámat.

Remélem, hogy valaki tud segíteni.csutka

 

Posted

Lehet nem voltam világos?

Reggelj egy tárhelyet az uw.hu-ra. Ingyenes. Tedd fel a lapodat amin van az email küldés. És futtasd. Ekkor megkapod az emailed.

Nemtudom melyik szerveren próbálkozol.

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...