ugrás a tartalomhoz

phpmail problem

godman2 · 2009. Május. 20. (Sze), 17.44
Üdv mindenkinek!

Bevallom kicsit kezdő vagyok a témában és egy általam összekovácsolt email küldő honlapon dolgozgatok, de most elakadtam. A freeweben van előfizum ahol letíltják a
kimenő leveleket és csak egy kód beszúrásos módszerrel szűr ki a visszaéléseket ez a kód így néz ki... kimásoltam az ő tanácsukat amit nem tudok felhasználni sajnos mivel kezdő vagyok :(

Példa: PHP esetén a mail() függvény 4. paraméterében (additional headers) tudod megadni, azaz: mail("címzett e-mail címe","levél tárgya","levél szövege","X-FW-MailID: azonosító");


Ezzel a sorral nem tudok mit kezdeni a php-ban hogy hova is kell beszúrjam hogy működjön "X-FW-MailID: azonosítószám"

a php kódom igy néz ki:

<?php
if(isset($_POST["nev"])){
if( trim($_POST["nev"]) !=="" AND trim($_POST["posta"]) !=="" AND trim($_POST["email"]) !==""){
$mymail = "godman2##kukac##freemail.hu";
$targy = "Értesítés";
$fejlec = "MIME-Version: 1.0\n";
$fejlec = "X-FW-MailID: azonosítószám"; (ide illesztettem és nem jó!)
$fejlec .= "Content-type: text/html; charset=iso-8859-2\n";
$fejlec .= "From: ".trim($_POST["nev"])."<".trim($_POST["email"]).">\n";
$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>';

$uzenet.="Oldaladról a következő email érkezett.</br>";
$uzenet.="</br>Küdte: ".trim($_POST["nev"]);
$uzenet.="</br>Posta címe :".trim($_POST["posta"]);
$uzenet.="</br>Email címe :".trim($_POST["email"]);
$uzenet.="</br></br>Szöveg: ".trim($_POST["uzi"]);
$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!";
}
}
?>


<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;
}
?>

</div>
<form action="http://www.xxxxxxx.hu/gepkereskedelem/gepkereskedelem.php" method="post" name="mailer" onSubmit="return checkmail(this);"><br/>
<fieldset>
<label accesskey="n" for="id_nev"><strong>Neve:</strong><br/>
<input id="nev" type="text" name="nev" value="<?php echo $_POST["nev"]; ?>" /><br /><br/>
</label>
<label accesskey="f" for="posta"><strong>Telefonszáma:</strong><br />
<br/>
<input id="posta" type="text" name="posta" value="<?php echo $_POST["posta"]; ?>"/><br /><br />
</label>
<label accesskey="e" for="id_email"><strong>E-mail címe:</strong><br><br>
<input id="email" type="text" name="email"value="<?php echo $_POST["email"]; ?>" /><br><br>
</label>
<label accesskey="u" for="id_uzi"><strong>Írja le elképzelését:</strong><br><br>
<textarea id="uzi" name="uzi" rows="10" cols="50" /><?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);
} ?>


viszont maga a küldés egy másik hoston tökéletesen megy csak a freewebnél nem mert kéri azt a sort valahova amit sajnos nem tudom hova is kéne beilleszteni. Válaszokat ötleteket előre is köszönöm! Jelzem még csak most tanulgatom a programozást kérlek nézzétek el kezdetlegességemet.
 
2

törölve

gex · 2009. Május. 20. (Sze), 18.27
szerk: törölve, el is kellett volna olvasnom. :)
1

.= nem =

Szekeres Gergő · 2009. Május. 20. (Sze), 18.18

$fejlec = "MIME-Version: 1.0\n";
$fejlec = "X-FW-MailID: azonosítószám"; (ide illesztettem és nem jó!)
$fejlec .= "Content-type: text/html; charset=iso-8859-2\n";
helyett

$fejlec = "MIME-Version: 1.0\n";
$fejlec .= "X-FW-MailID: azonosítószám\n";
$fejlec .= "Content-type: text/html; charset=iso-8859-2\n";
ha így sem megy más lesz a baj.
3

bakker

godman2 · 2009. Május. 20. (Sze), 19.54
NAGYON Köszönöm! Ezt nem hiszem el valóban ennyi volt csak a baj XD \n ez mit jelent pontosan ha már ilyenbe futottam... mint írtam feljebb épp tanulom a szakmát ezért jól jön ez is a tapasztalat gyűjtésemhez...
4

Újsor

erenon · 2009. Május. 20. (Sze), 20.37
5

2 apróság

Szekeres Gergő · 2009. Május. 20. (Sze), 20.40
egyrészt a headerek közé illik \n-t rakni, másrészt te a

# $fejlec = "X-FW-MailID: azonosítószám\n";  
sorral a $fejlect változóba a fenti sort irattad, ahelyett, hogy a MIMI.. sorhoz hozzáfűzted volna. ugye a $fejlec .= "string"; az részletesen kiirva ennyit teszt: $fejlec = $fejlec."string", azaz a string után fűzi a megadott karaktereket. De ezeke tényleg nagyon alapok, javaslom hogy nézz utána az alapvető szintakszisnak ha ezzel akarsz foglalkozni. ráadásul ez eléggé nyelvfüggetlen dolog.
6

igen

godman2 · 2009. Május. 21. (Cs), 01.29
igen mint írtam feljebb kezdő vagyok és már áskálódom a témában rendesen... gyűjtöm az anyagokat a tanuláshoz... remélem "jó pár" hónap múlva már nem lesznek ilyen gondjaim és ennél csak komolyabb problémával jövök majd informálódni :) még egyszer köszönöm.
7

Gergőtől kérdés

Peti.nagy1 · 2009. Júl. 17. (P), 18.36
Kedves Gergő nekem is szükségem lenne jó tanácsokra, bár nem programozó informatikus vagyok, hanem egy felhasználó. Azt szeretném tudni, hogy a Magyarországon megírt hírlevélküldő softver ugyanolyan jól alkalmazható-e a Francia és Olasz irányban is?

Mintha itt mások lennének a küldés kritériumai. Ha lehet küldenék egy kis összefoglalót a felfedezett különbségekről. Péter
9

Soksok kérdés

vbence · 2009. Júl. 18. (Szo), 16.54
Hát ha nem 50 különböző témában tetted volna fel akérdéseidet, hanem nyitottál vona egy saját topicot neki, esetleg az állás-munka rovatban, biztos vagyok benne hogy harabb, jobb megoldást találsz, és kevésbé szemetlenéd tele a fórumot is.
8

lev cím

Peti.nagy1 · 2009. Júl. 17. (P), 19.03
peti.nagy1##kukac##gmail.com
10

Elkuldott form uzenete uj ablakban

hazarbalt · 2009. Aug. 12. (Sze), 16.14
Sziasztok az alabbit hasznalom az oldalamon email kuldesere:
<?php
$name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];

if($name=='' or $email=='' or $message=='' or !eregi("@", $email)) {
echo "Kérem, töltsön ki minden mezőt. <a href=javascript:history.back();>Vissza</a>";
}
else {
mail("enemailcimemg##kukac##weboldalam.hu", "Üzenet a weboldalam.hu-ról", $message, "From: $name<$email>\n\r");
echo "Az üzenet sikeresen elküldve";

}

?>

Remekul mukodik is de volna egy szepseghibaja amit tobb ora guglizas utan sem tudtam megoldani. A Kuldes gomb utan a "Az üzenet sikeresen elküldve" ugyanabban az ablakban, egy ures, feher oldal tetejen jelenik meg amit szeretnek eltuntetni. Tekintve, hogy szinte dilettans vagyok a temahoz a legegyszerubb megoldast keresem tehat az sem gaz ha a nem jon fel ez az uzenet bar a legjobb az lenne ha a php file-ba meglehetne neki adni, hogy terjen egyszeruen vissza az uzenetkuldo html file-hoz. Elnezest ha alapveto dologrol van szo de ez szamomra ismeretlen terulet. Elore is koszonom a segitseget.