Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  27 1836
Hei,
har jobbet med en mail script i dag, alt fungerer nesten, når man trykker send blir jeg sendt vidre til "Mailen er sendt" men jeg får ikke noen mail, noen som gidder å skjekke koden?

Kode

<?php

/* Subject and Email Variables */

	$emailSubject = 'Email fra nettside';
	$webMaster = 'leiftore@live.no';
	
/* gathering Data Varibles */

	$emailField = $_POST['email'];
	$nameField = $_POST['name'];
	$phoneField = $_POST['phone'];
	$travlersField = $_POST['travlers'];
	$plassField = $_POST['plass'];
	$commentsField = $_POST['comments'];
	
	$body = <<<BOD
<br><hr><br>
Email Adresse: $email <br>
Navn: $name <br>
Telefon/Mobil: $phone <br>
Jobb: $budget <br>
Hvor i Lofoten: $travelers <br>
Beskrivelse av jobb: $comment <br>>
BOD;
	
		$headers = "From: §email\r\n";
		$headers .= "Content=type: text/html\r\n";	
		$succes = mail($webMaster, $emailSubject, $body, $headers);
		
/* Results rendered as HTML */

	$theResults = <<<BOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sjøhaug Bygg</title>
<style type="text/css">
body,td,th {
	color: #FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
}
body {
	background-color: #000;
	background-image: url();
	background-repeat: no-repeat;
}
</style>
<link href="css/kontakt1.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="wrapper">
  <div id="logo">
  </div>
  <div id="Menu"><ul id="MenuBar1" class="MenuBarVertical">
    <li><a href="index.html">Hjem</a>
      <li><a href="bilder.html">Bilder</a></li>
    <li><a href="#">Om oss</a>      </li>
    <li><a href="#">Item 4</a></li>
  </ul>
  </div>
  <div id="reklame"></div>
  
<div id="Nyhter1">
    <div align="center">·Mailen din er sendt! Vi skal svare på mailen så snart vi har tid!</div>
  </div>
</div></td>
      </tr>
    </table>
  </form>
  <p align="center">&nbsp; </p></div>
</div>
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
</html>
BOD;
echo "$theResults";
		
?>
btw link til kontakt sia
Legg til en if(!$succes) { echo "Wrong"; }
Trådstarter
53 1
Sitat av EivindH Vis innlegg
Legg til en if(!$succes) { echo "Wrong"; }
Vis hele sitatet...
?, kan du butte den i koden?
Hva er de <<<BOD taggene du har visse steder i scriptet ditt? Prøv å bytte de ut med riktige tagger i henhold til php syntax.

Dessuten har du § i stedenfor $ noen steder i scriptet. Legg det inn i notepad++ , ctrl + f og replace all. Velg § til $, problem solved. Får kanskje ikke scriptet til å funke, men er litt opprydding i hvertfall.
Trådstarter
53 1
Sitat av Gisse Vis innlegg
Hva er de <<<BOD taggene du har visse steder i scriptet ditt? Prøv å bytte de ut med riktige tagger i henhold til php syntax.

Dessuten har du § i stedenfor $ noen steder i scriptet. Legg det inn i notepad++ , ctrl + f og replace all. Velg § til $, problem solved. Får kanskje ikke scriptet til å funke, men er litt opprydding i hvertfall.
Vis hele sitatet...
Fixa, gjorde det i dreamweaver istede, men funker ennå ikke,
m0b
m0b's Avatar
DonorAdministrator
Sjekk mail-loggen på serveren og se om du får feilmeldinger der. Kan være e-post ikke er satt opp korrekt. Sjekk også (med phpinfo) at sendmail er hooket opp.
Trådstarter
53 1
Funker nå, får det i søppelpost, jeg kontakter vel bare host1 og får de til å fixe at den ikke kommer i søppelpost?

Ozma, mender du jeg skal bruke $str <<< demo istede?
Det er ikke host1 som løser det - det er din epostmottaker. (Avhengig av hvor den er.)
Sitat av EivindH Vis innlegg
Det er ikke host1 som løser det - det er din epostmottaker. (Avhengig av hvor den er.)
Vis hele sitatet...
H*n har antakeligvis wenhotel hos Host1, og da har man epost der og.

Jeg tror du kan fikse det på epost innstillinger eller noe sånt. Jeg har ikke Host1, så jeg vet ikke helt, men det skal være noen innstillinger.
Viss du elser i koden ser du at eposten blir sendt til en hotmail bruker. Dermed er det hotmail H*n må kontakte, ikke host1.
Trådstarter
53 1
jaok, men når jeg svarer på de tingene på siden jeg linket til i første post kommer ikke dette med i eposten, hva er feil i koden da?
Fordi du definerer ikke variablene riktig. Se over koden igjen.
Trådstarter
53 1
ikke tar variablene riktig?
Når du henter ut variablene fra Post bruker du f.eks

Kode

    $commentsField = $_POST['comments'];
Når du bruker dem til å printe, bruker du f.eks $comments
Det passer altså ikke.
Et par ting.. Du definerer variabelen $travlers og refererer til den med navnet $travelers. Det blir selvsagt feil. Riktig stavemåte er travelers, men det viktige er at du er konsekvent.

Det andre er at du lager en haug med variabler som slutter på "Field", som du ikke bruker noe sted. Det vil ikke medføre noe feil, men det er rimelig bortkastet..
m0b
m0b's Avatar
DonorAdministrator
Hvis du har tilgang til det, vil det være svært lurt å sette error_reporting opp noen hakk. I alle fall under utvikling.

Kode

error_reporting( E_ALL | E_STRICT );
Sist endret av m0b; 5. juli 2010 kl. 17:55.
Trådstarter
53 1
har nå rota med koden, men jeg kommer ingen vei,

Kode

<?php

/* Subject and Email Variables */

	$emailSubject = 'Email fra nettside';
	$webMaster = '*****@live.no,' ;
	
/* gathering Data Varibles */

	$emailField = $_POST['email'];
	$nameField = $_POST['name'];
	$phoneField = $_POST['phone'];
	$travlersField = $_POST['travlers'];
	$plassField = $_POST['plass'];
	$commentsField = $_POST['beskrivelse'];
	
	$body = <<< EOD
<br><hr><br>
Email Adresse: $emailField <br>
Navn: $nameField <br>
Telefon/Mobil: $phoneField <br>
Jobb: $travlersField <br>
Hvor i Lofoten: $plassField <br> 
Beskrivelse av jobb: $commentsField <br>
EOD;
	
		$headers = "From: $email\r\n";
		$headers .= "Content=type: text/html\r\n";	
		$succes = mail($webMaster, $emailSubject, $str, $headers);
		
/* Results rendered as HTML */

	$theResults = <<< EOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sjøhaug Bygg</title>
<style type="text/css">
body,td,th {
	color: #FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
}
body {
	background-color: #000;
	background-image: url();
	background-repeat: no-repeat;
}
</style>
<link href="css/kontakt1s.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
  <div id="logo">
  </div>
  <div id="Menu"><ul id="MenuBar1" class="MenuBarVertical">
    <li><a href="index.html">Hjem</a>
      <li><a href="bilder.html">Bilder</a></li>
    <li><a href="#">Om oss</a>      </li>
    <li><a href="#">Item 4</a></li>
  </ul>
  </div>
  <div id="reklame"></div>
  
<div id="Nyhter1">
    <div align="center">·Mailen din er sendt! Vi skal svare på mailen så snart vi har tid!</div>
  </div>
</div></td>
      </tr>
    </table>
  </form>
  <p align="center">&nbsp; </p></div>
</div>
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
</html>
EOD;
echo "$theResults";
		
?>
Noen som ser feilen?
Når du sender mailen, sier du at innholdet skal være i $str, mens det er i $body. Du må lære å navngi variablene riktig.

Kode

$emailField = $_POST['email'];

Kode

$headers = "From: $email\r\n";

Kode

    $body = <<< EOD 
<br><hr><br> 
Email Adresse: $emailField <br> 
Navn: $nameField <br> 
Telefon/Mobil: $phoneField <br> 
Jobb: $travlersField <br> 
Hvor i Lofoten: $plassField <br>  
Beskrivelse av jobb: $commentsField <br> 
EOD;

Kode

$succes = mail($webMaster, $emailSubject, $str, $headers);
Sist endret av pinkrabbitz; 5. juli 2010 kl. 18:31.
Sitat av Aninne Vis innlegg
Noen som ser feilen?
Vis hele sitatet...
Grunnen til at emailen din havner i spam-filteret er sannsynligvis uoverensstemmelser i den resulterende headeren. Det at din utgående mail-servers ip ikke stemmer overens med ip-en mottakende server får ved DNS-lookup av den oppgitte sender-epost-adressens domene, er sannsynligvis årsaken.

Det burde fungere å erstatte avsender med en fast adresse som slutter på samme domenenavn som siden din ligger på, mens du legger til Reply-To-felt med adressen i $emailField. Altså erstatt header-delen av koden din med dette (ditt-domene.no erstattes selvsagt av din sides faktiske domene):

Kode

$headers = "From: kontaktskjema@ditt-domene.no\r\n";
$headers .= "Content=type: text/html\r\n";  
$headers .= "Reply-To: $nameField <$emailField>\r\n";
$headers .= "Return-Path: $nameField <$emailField>\r\n";
Da vil avsender stå som "kontaktskjema@ditt-domene.no", men når du trykker på "svar", vil adressen i Reply-To-feltet settes som måladresse. Og, om dette ikke skulle hjelpe, har du i det minste muligheten til å merke "kontaktskjema@ditt-domene.no" som en trygg avsender slik at epostene dirigeres til innboksen.
Sist endret av Provo; 5. juli 2010 kl. 18:35.
Hei

Kode

$succes = mail($webMaster, $emailSubject, $str, $headers)
$webMaster er '****@live.no' Jeg tror ikke det er en gyldig e-mail adresse.
$emailSubject er grein nok.
$str er aldri deklarert i koden din, variabelen finnes ikke. Tror du mente $body.
i $headers har du med 'From: $email\r\n', men $email er aldri deklarert. Tror du mente $emailField.

Jannis

EDIT:
heh, selvfølgelig er $webMaster = '****$live.no'. Den er bare sensurert bort. My bad. Litt trøtt.
Sist endret av Jannis!; 5. juli 2010 kl. 18:43.
Trådstarter
53 1
Hei,
Nå fungere det ! men jeg får <br> taggene hele tiden, og det kommer 2 - 7 eposter hele tiden:S noen som vet hva jeg kan gjøre for å fikse det?

<br><hr><br>
Email Adresse: *_***@hotmail.com <br>
Navn: Joakim <br>
Telefon/Mobil: ******* <br>
Jobb: Restaurering <br>
Hvor i Lofoten: Moskenes <pr>
Beskrivelse av jobb: KOMAN <br>
Vis hele sitatet...

Kode

<?php

/* Subject and Email Variables */

	$emailSubject = 'Email fra nettside';
	$webMaster = 'j_kims123321@hotmail.com,' ;
	
/* gathering Data Varibles */

	$emailField = $_POST['email'];
	$nameField = $_POST['name'];
	$phoneField = $_POST['phone'];
	$jobbField = $_POST['jobb'];
	$plassField = $_POST['plass'];
	$beskrivelseField = $_POST['beskrivelse'];
	
	$str = <<< EOD
<br><hr><br>
Email Adresse: $emailField <br>
Navn: $nameField <br>
Telefon/Mobil: $phoneField <br>
Jobb: $jobbField <br>
Hvor i Lofoten: $plassField <br> 
Beskrivelse av jobb: $beskrivelseField <br> 
EOD;

		$headers = "From: kontaktskjema@sjohaugbygg.no\r\n";
		$headers .= "Content=type: text/html\r\n";  
		$headers .= "Reply-To: $nameField <$emailField>\r\n";
		$headers .= "Return-Path: $nameField <$emailField>\r\n";
		
		$succes = mail($webMaster, $emailSubject, $str, $headers); 
		
/* Results rendered as HTML */

	$theResults = <<< EOD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sjøhaug Bygg</title>
<style type="text/css">
body,td,th {
	color: #FFF;
	font-family: Georgia, "Times New Roman", Times, serif;
}
body {
	background-color: #000;
	background-image: url();
	background-repeat: no-repeat;
}
</style>
<link href="css/kontakt1s.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
  <div id="logo">
  </div>
  <div id="Menu"><ul id="MenuBar1" class="MenuBarVertical">
    <li><a href="index.html">Hjem</a>
      <li><a href="bilder.html">Bilder</a></li>
    <li><a href="#">Om oss</a>      </li>
    <li><a href="#">Item 4</a></li>
  </ul>
  </div>
  <div id="reklame"></div>
  
<div id="Nyhter1">
    <div align="center">·Mailen din er sendt! Vi skal svare på mailen så snart vi har tid!</div>
  </div>
</div></td>
      </tr>
    </table>
  </form>
  <p align="center">&nbsp; </p></div>
</div>
<script type="text/javascript">
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
</script>
</body>
</html>
EOD;
echo "$theResults";
		
?>
Sitat av Aninne Vis innlegg
Hei,
Nå fungere det ! men jeg får <br> taggene hele tiden, og det kommer 2 - 7 eposter hele tiden:S noen som vet hva jeg kan gjøre for å fikse det?
Vis hele sitatet...
Taggene synes nok fordi du ikke har pakket det inn som et html-dokument. Tipper det ordner seg med å pakke alt inn i html- og body-tags.

At det kommer mange eposter skyldes ikke denne koden, men du kanskje trykker flere ganger på submit-knappen?
Evt. kan du bruke \n istedet for <br>.
Trådstarter
53 1
Hei,
Nei de funker ikke med bar /n må jeg ikke ha for eks <br></br>?
Sitat av Aninne Vis innlegg
Hei,
Nei de funker ikke med bar /n må jeg ikke ha for eks <br></br>?
Vis hele sitatet...
Nei, du trenger ikke det. Eventuelt kan du bruke <br />

/n er feil vei på skråstreken. Bruk \n

Kode

<?php 

    $emailSubject = 'Email fra nettside'; 
    $webMaster = 'j_kims123321@hotmail.com,' ; 
     
    $emailField = $_POST['email']; 
    $nameField = $_POST['name']; 
    $phoneField = $_POST['phone']; 
    $jobbField = $_POST['jobb']; 
    $plassField = $_POST['plass']; 
    $beskrivelseField = $_POST['beskrivelse']; 
     
    $str = " 
\n\n 
Email Adresse: " . $emailField . " \n
Navn: " . $nameField . " \n
Telefon/Mobil: " . $phoneField . " \n
Jobb: " . $jobbField . " \n
Hvor i Lofoten: " . $plassField . " \n 
Beskrivelse av jobb: " . $beskrivelseField . " \n 
";

        $headers = "From: kontaktskjema@sjohaugbygg.no\r\n"; 
        $headers .= "Content=type: text/html\r\n";   
        $headers .= "Reply-To: $nameField <$emailField>\r\n"; 
        $headers .= "Return-Path: $nameField <$emailField>\r\n"; 
         
        $succes = mail($webMaster, $emailSubject, $str, $headers);  

if($succes)
{
$Beskjed = "Mailen din er sendt! Vi skal svare på mailen så snart vi har tid!";
}
else
{
$Beskjed = "Ikke sendt, prøv igjen.";
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Sjøhaug Bygg</title> 
<style type="text/css"> 
body,td,th { 
    color: #FFF; 
    font-family: Georgia, "Times New Roman", Times, serif; 
} 
body { 
    background-color: #000; 
    background-image: url(); 
    background-repeat: no-repeat; 
} 
</style> 
<link href="css/kontakt1s.css" rel="stylesheet" type="text/css" /> 
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script> 
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
<div id="wrapper"> 
  <div id="logo"> 
  </div> 
  <div id="Menu"><ul id="MenuBar1" class="MenuBarVertical"> 
    <li><a href="index.html">Hjem</a> 
      <li><a href="bilder.html">Bilder</a></li> 
    <li><a href="#">Om oss</a>      </li> 
    <li><a href="#">Item 4</a></li> 
  </ul> 
  </div> 
  <div id="reklame"></div> 
   
<div id="Nyhter1"> 
    <div align="center"><?= $Beskjed ?></div> 
  </div> 
</div></td> 
      </tr> 
    </table> 
  </form> 
  <p align="center">&nbsp; </p></div> 
</div> 
<script type="text/javascript"> 
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); 
</script> 
</body> 
</html>
Sist endret av Freak; 6. juli 2010 kl. 18:57.
Sannsynligvis kan du bare droppe både <br> og /n, ettersom du fyller inn $str med linjeskift i teksten. Ettersom /n også er et linjeskift, vil du sannsynligvis få dobbelt linjeskift i eposten hvis du føyer på dette.