Avatar billede rippie Nybegynder
27. juli 2003 - 00:07 Der er 8 kommentarer og
1 løsning

html mail

Hey alle sammen... sidder lige og prøver at få php til at sende en html mail.... men den vil ikke... bliver ved med at få denne fejl her :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\webserver\www\tlw\new\sites\kontakt.php on line 45

linje 45 ser således her ud :

$headers .= "From: $_POST['navn'] <$_POST['mail]'>\r\n";

Hele koden...
--------------------------------------------------
if(isset($_GET['action'])) {

    if($_GET['action'] == "send") {

        if($_POST['afdeling'] == "falster") {

        $mailto        =    "info@lanworld.dk";

        } elseif($_POST['afdeling'] == "hilleroed") {

        $mailto        =    "info@lanworld.dk";

        }

        $subject    =    "Online Kontakt";

        $mail        =    "

            Besked afsendt af : $_POST[navn]
            Email : $_POST[mail]

            Besked :
            $_POST[besked]

            ----------------------------------------

            Afsendt fra Lanworld.dk Online Kontakt";

        $headers  = "MIME-Version: 1.0\r\n";

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

        $headers .= "From: $_POST['navn'] <$_POST['mail]'>\r\n";

        mail("$mailto", "$subject","$mail","$headers");

        echo "Mail sendt...<p>";
        echo "Vi takker for din mail, og svare så snart tid er, alt over 24 timer er urealistisk :)<p>";
        echo "Hilsen TLW Teamet";

    } else {

    echo "Fejl...";

    }

} else {blablablabla....

kan nogen hjælpe mig ?
Avatar billede schaefner Juniormester
27. juli 2003 - 00:09 #1
Prøv:
$headers .= "From: $_POST[navn] <$_POST[mail]>\r\n";
Avatar billede superanden Nybegynder
27. juli 2003 - 00:13 #2
$headers .= "From: $_POST['navn'] <$_POST['mail]'>\r\n";

hvorfor har du . foran =? Det er jeg ret sikker på at du ikke skal have
Avatar billede rippie Nybegynder
27. juli 2003 - 00:15 #3
kanon... takker... svar lige så du får point...
Avatar billede superanden Nybegynder
27. juli 2003 - 00:15 #4
svar
Avatar billede rippie Nybegynder
27. juli 2003 - 00:17 #5
det var ikke lige dig... for de skal være der...
Avatar billede schaefner Juniormester
27. juli 2003 - 00:17 #6
svar'

mvh. Jesper Sørensen
Avatar billede tipsen Nybegynder
27. juli 2003 - 01:49 #7
Når du nu endelig vil sende html så sørg da som et minimum for at lave en korrekt formateret html-mail - eller send en plain-text mail som alle kan læse.
Avatar billede Slettet bruger
27. juli 2003 - 06:11 #8
Og det som tipsen skriver, så jeg lige jeg engang lavede en lille test funktion til. Altså en email hvor der både er en HTML og en tekst version
tilgængelig. Se endvidere beskrivelsen i mail_textplain.inc.

Bare til inspiration, eller andre der var nysgerrige.

-------------------------------------------------------------
php
-------------------------------------------------------------
<?
error_reporting(E_ALL);

function send_multipart_email($to, $from, $reply_to, $subject) {   
    /*
    Sender en multipart/alternative besked med
    en text/plain del og en text/html del.
   
    mail_textplain.inc: Fil der skal indeholde text/plain delen.
    mail_texthtml.inc: Fil der skal indeholde text/html delen.
    */   
    if (!$fp = @fopen("mail_textplain.inc", "r"))
        return FALSE;
    $text_plain = fread($fp, filesize("mail_textplain.inc"));
    if (!$fp = @fopen("mail_texthtml.inc", "r"))
        return FALSE;
    $text_html = fread($fp, filesize("mail_texthtml.inc"));
    fclose($fp);
   
    $headers  = "From: ".$from."\r\n";
    $headers .= "Reply-To: ".$reply_to."\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: Multipart/Alternative; boundary=\"part boundary\"";
   
    $body  = "--part boundary\r\n";
    $body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
    $body .= "\r\n".$text_plain."\r\n";
    $body .= "\r\n--part boundary\r\n";
    $body .= "Content-Type: text/html\r\n";
    $body .= "\r\n".$text_html."\r\n";
    $body .= "\r\n--part boundary--\r\n";
   
    return (boolean) mail($to, $subject, $body, $headers);
}

echo send_multipart_email("xxx@tiscali.dk", "Martin <xxx@tiscali.dk>", "xxx@tiscali.dk", "Multipart/alternative MIME test") ? "Mail sendt" : "Mail kunne ikke sendes";
?>
-------------------------------------------------------------
mail_texthtml.inc
-------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>Ekort</title>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
</head>

<body>

<h1>Her står ekortet som en almindelig HTML side.</h1>
<p>
<a href='http://www.google.com'>Google.com</a>

</body>
</html>
-------------------------------------------------------------
mail_textplain.inc
-------------------------------------------------------------
Her står almindeligt text indhold.

Det bliver vist, hvis brugeren ikke har en html compliant mailklient
(eller hvis HTML er slået fra).

Endvidere (afhængig af klienten) vil HTML delen fremgå som attachment.

Dette indhold er også det, der vil blive vist, hvis man vælger reply
til mailen (igen afhængig af klienten).
-------------------------------------------------------------
Avatar billede detox Nybegynder
27. juli 2003 - 10:31 #9
mercur8 -> Tak for info, det er jo ganske nyttigt!
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