Avatar billede f5 Nybegynder
21. december 2006 - 11:32 Der er 7 kommentarer

Små problemer med at sende en php mail

Jeg er ved at rette i et PHP dokument som sender en mail. Phpscriptet for nogle parametere fra en Flash. Alt dette fungere fint. Selve teksten i emailen er html foramteret i UTF-8 format.

Jeg har dog to problemer:

Jeg kan ikke bruge ÆØÅ i min subject. De bliver simplethen bare ikke vist.

Jeg ville gerne selv kunne bestemme hvad der skal skrives i afsender feltet så der ikke står alt muligt underligt.

Håber der er nogel som kan hjælpe.

Tak
Michael
Avatar billede showsource Seniormester
21. december 2006 - 12:27 #1
Hvor får du subject fra?

Du kan evt. bruge utf8_decode() i stedet for.

Afsender putter du jo bare ind, ( "From:webmaster<mail@mail.dk>" )
Avatar billede f5 Nybegynder
21. december 2006 - 12:54 #2
Her er mit script:

<?php
$yourname = $_POST["yourname"]; /* nick name */
$yourmail = $_POST["yourmail"];
$friendname = $_POST["friendname"];
$friendmail = $_POST["friendmail"];
$text = $_POST["themessage"];
$to = $_POST["friendmail"];
$subject = "ÆØÅ";
$body = "<TABLE HEIGHT=150 WIDTH=450 ><TR> <TD WIDTH=150></TD> <TD><p>Her er tekst</p></TD> </TR></TABLE>";
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

if (mail($to, $subject, $body, $headers)) {
  echo("<p>Message successfully sent!</p>");
} else {
  echo("<p>Message delivery failed...</p>");
}
?>

Jeg kender ikke så meget til PHP men hvordan ville jeg gøre det i dette script?
Avatar billede denner1989 Nybegynder
21. december 2006 - 13:00 #3
if (mail($to, $subject, $body, $headers, "From:webmaster<mail@mail.dk>")) {

Som showsource skrev.
Avatar billede showsource Seniormester
21. december 2006 - 13:02 #4
Denne
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

ville jeg lave til
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

og
$text = $_POST["themessage"];

ville jeg lave til

$text = utf8_decode($_POST["themessage"]);

Og så ville jeg putte <html><head> m.m. ind i $body

http://dk2.php.net/manual/da/function.mail.php

Og så ville jeg sikre mig at der kun er en modtager adresse for $friendemail, for at den skal blive misbrugt til spammails
Avatar billede f5 Nybegynder
21. december 2006 - 13:16 #5
Når jeg særrer den til charset=iso-8859-1 kommer der ikke ÆØÅ i min tekst. Det har jeg ændret til UTF-8 og så kommer de.

Men det kan jeg så stadig ikke se i subjectet
Og skal jeg så skrive:
$from = "webmaster<mail@mail.dk>"
Hvis jeg vil have det som afsender?
/Michael
Avatar billede showsource Seniormester
21. december 2006 - 14:33 #6
Har du brugt utf8_decode() sammen med "iso-8859-1" ???

M.h.t. til From ville jeg nok

$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From:webmaster <$mail@mail.dl>' . "\r\n";
Avatar billede showsource Seniormester
21. december 2006 - 14:35 #7
Og jeg ved ikke om det vil virke, men du kan jo prøve at bruge
$subject = utf8_encode($subject);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester