Avatar billede tweak Nybegynder
07. januar 2006 - 11:05 Der er 32 kommentarer og
2 løsninger

Ingen linje skift.?

Hej,

Jeg har en mailform som efter jeg har lavet:

"Content-Type: text/plain; charset=\"iso-8859-1\"\n";

om til:

"Content-Type: text/html; charset=\"iso-8859-1\"\n";

ikke vil laver linje skift.? Er der nogen særlig grund til det.?
Avatar billede innercitydk Nybegynder
07. januar 2006 - 11:16 #1
Ved text laver man linieskift med \n i html er det br

prøv det her:

"Content-Type: text/html; charset=\"iso-8859-1\"<br>";

Vh Nicki
Avatar billede tweak Nybegynder
07. januar 2006 - 11:40 #2
Det virker ikke
Avatar billede udvikler Nybegynder
07. januar 2006 - 11:47 #3
I den variabel der indeholder den tekst som skal have linie skift kan du lave følgene

nl2br($variabel);

det vil virke 100%
Avatar billede udvikler Nybegynder
07. januar 2006 - 11:49 #4
Avatar billede tweak Nybegynder
07. januar 2006 - 13:05 #5
Jeg kan sq ikke få det til at virke :(

Her er noget af min kode:

$message.="Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: quoted-printable\n";
$message.="\n";
$message.="$Besked\n\n";
$message.="Afsenders IP adresse er: $ip\n";
$message.="\n";
Avatar billede nielle Nybegynder
07. januar 2006 - 13:16 #6
Når mailen er HTML-formateret bruger man <br> til at lave linjeskift. De skal dog ikke være overalt, men kun nede i mailbody:

$message.="Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: quoted-printable\n";
$message.="\n";
$message.="$Besked<br><br>";
$message.="Afsenders IP adresse er: $ip<br>";
$message.="<br>";
Avatar billede hmortensen Nybegynder
07. januar 2006 - 13:16 #7
Prøv med \r\n istedet for \n bare.
Avatar billede tweak Nybegynder
07. januar 2006 - 13:36 #8
nielle

Det du viser laver mailen sådan:

Test af mailform. Virker ikke.!

Afsenders IP adresse er: xx.xx.xxx.xx

Istedet for:

Test af mailform.

Virker ikke.!

Afsenders IP adresse er: xx.xx.xxx.xx
Avatar billede nielle Nybegynder
07. januar 2006 - 13:45 #9
Det er så fordi at du skal bruge -aco-'s løsning på $Besked:

$message.="Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message.="Content-Transfer-Encoding: quoted-printable\n";
$message.="\n";
$message.= nl2br($Besked) ."<br><br>";
$message.="Afsenders IP adresse er: $ip<br>";
$message.="<br>";
Avatar billede udvikler Nybegynder
07. januar 2006 - 13:51 #10
Det var det jeg sagde fra starten, du ignorede den bare :S

Tak nielle ;-)
Avatar billede tweak Nybegynder
07. januar 2006 - 13:58 #11
-aco-, Nej :) Jeg er bare ikke så klog ;) Nu virker det - men nu generere den et eller andet i bunden af mailen noget i stil med: --7cedd960e6c5jruon02ac4d835d31e60--
Avatar billede udvikler Nybegynder
07. januar 2006 - 14:06 #12
Jamen så er det iorden :-)

Hmm 32 cifret kode, det kunne tyde på en md5 hashing.

er du sikker på at der ikke står md5 nogle steder i koden ?
Avatar billede tweak Nybegynder
07. januar 2006 - 14:11 #13
Ja det gør der ikke
Avatar billede udvikler Nybegynder
07. januar 2006 - 14:13 #14
hmm, prøv lige at skrive hele din kode her, så vil jeg lige prøver nogle ting af :)
Avatar billede tweak Nybegynder
07. januar 2006 - 14:19 #15
Her:

$ip = $REMOTE_ADDR;


function clean($key) {
    $key=str_replace("\r", "", $key);
    $key=str_replace("\n", "", $key);
    $find=array(
        "/bcc\:/i",
        "/Content\-Type\:/i",
        "/Mime\-Type\:/i",
        "/cc\:/i",
        "/to\:/i"
    );
  $key=preg_replace($find,"",$key);
  return $key;
}


$error="";
$types="";
$sent_mail=false;



If($_POST['submit']==true) {
    extract($_POST, EXTR_SKIP);

{
       
        If($use_subject_drop AND is_array($subjects) AND is_array($emails)) {
            $subject_count=count($subjects);
            $email_count=count($emails);
           
            If($subject_count==$email_count) {
               
                $myemail=$emails[$Emne];
                $Emne=$subjects[$Emne];
               
            }
           
        }
       
       
        $boundary=md5(uniqid(time()));
       
       
        $Navn=clean($Navn);
        $Email=clean($Email);
       
        //Headers
       
        $headers="From: ".$Navn." (Post fra DigitaLife)<".$Email.">\n";
        $headers.="Reply-To: ".$Navn." <".$Email.">\n";
        $headers.="MIME-Version: 1.0\n";
        $headers.="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
        $headers.="X-Sender: ".$_SERVER['REMOTE_ADDR']."\n";
        $headers.="X-Mailer: PHP/".phpversion()."\n";
        $headers.="X-Priority: ".$priority."\n";
        $headers.="Return-Path: <".$Email.">\n";
        $headers.="This is a multi-part message in MIME format.\n";

        //Message
           
        $message = "--".$boundary."\n";
        $message.="Content-type: text/html; charset=iso-8859-1" . "\r\n";
        $message.="Content-Transfer-Encoding: quoted-printable\r\n";
        $message.="\r\n";
        $message.= nl2br($Besked) ."<br><br>";
        $message.="Afsenders IP adresse er: $ip<br>";
        $message.="<br>";


        // End the message
       
        $message.="--".$boundary."--\n";
       
        // Send the completed message
       
        If(!mail($myemail,$Emne,$message,$headers)) {
           
            Exit("Der er sket en fejl.\n");
           
        } Else {
       
            $sent_mail=true;
           
        }

    } // Else

} // $_POST
Avatar billede udvikler Nybegynder
07. januar 2006 - 14:21 #16
Du sagde du ikke havde noget der indeholdt ordet md5, hvad vil du så kalde dette:

$boundary=md5(uniqid(time()));

;-)
Avatar billede tweak Nybegynder
07. januar 2006 - 14:22 #17
Hmmmm, havde sq søgt på det :( Nå men hvad gør jeg så med det.?
Avatar billede udvikler Nybegynder
07. januar 2006 - 14:27 #18
Du ændre den bare til:

$boundary = uniqid(time());
Avatar billede tweak Nybegynder
07. januar 2006 - 14:29 #19
Jeg det var det jeg tænkte med den skriver det stadig.
Avatar billede nielle Nybegynder
07. januar 2006 - 14:30 #20
Prøv at rette denne:

$message = "--".$boundary."\n";

- til:

$message = "--".$boundary."--\n";
Avatar billede tweak Nybegynder
07. januar 2006 - 14:33 #21
nielle, Så kommer der ikke noget tekst med i mailen der bliver sendt
Avatar billede nielle Nybegynder
07. januar 2006 - 14:34 #22
De to linje med boundaries *skal* være ens.
Avatar billede nielle Nybegynder
07. januar 2006 - 14:38 #23
Sludder... :^|
Avatar billede tweak Nybegynder
07. januar 2006 - 14:56 #24
Hmmm, nu gik det ellers så godt :)
Avatar billede tweak Nybegynder
07. januar 2006 - 15:21 #25
ved at fjerne

$message.="--".$boundary."--\n";

under linjen : // End the message

Kommer det ikke frem, men hvad gør denne linje.?
Avatar billede tweak Nybegynder
07. januar 2006 - 16:21 #26
-aco- og nielle, er det ikke okay hvis i deler point.?
Avatar billede udvikler Nybegynder
07. januar 2006 - 16:24 #27
Det er fint med mig
Avatar billede nielle Nybegynder
07. januar 2006 - 16:57 #28
> Kommer det ikke frem, men hvad gør denne linje.?

Nu har jeg ikke så stor erfaring med at lave MIME-formaterede mails, men så vidt jeg kan se bør den sidste linje være der. For:

$message = "--".$boundary."\n";

- angiver starten af mailen, og:

$message .= "--".$boundary."--\n";

- angiver slutningen.
Avatar billede tweak Nybegynder
07. januar 2006 - 17:26 #29
Jammen så siger jeg mange tak for jeres hjælp.!!

Måske i lige kunne fortælle hvordan jeg ændre font-size og font-family på det der står i mailen.?
Avatar billede udvikler Nybegynder
07. januar 2006 - 17:30 #30
<font size="2" family="verdana">
blablabla
</font>

eller

<style>
#tekst {
  font-family: verdana;
  font-size: 10px;
}
</style>

<div id="tekst">
blablabla
</div>
Avatar billede tweak Nybegynder
07. januar 2006 - 17:55 #31
Det var nu mere det den udskriver.?
Avatar billede tweak Nybegynder
07. januar 2006 - 18:16 #32
Noget i stil med:

$message.= "<html>
<body>
<b>$Besked</b><br>
</body>
</html>";

Så mangler jeg bare at sætte nl2br og to gange <br> ind - kan ikke helt se hvor det skal indsætte :(
Avatar billede tweak Nybegynder
07. januar 2006 - 19:39 #33
$message.= nl2br($Besked = "<font size=\'3' face=\'Verdana'>$Besked</font><br><br>");

Men jeg kan ikke få den til at skifte face :(
Avatar billede nielle Nybegynder
07. januar 2006 - 20:50 #34
Måske?

$message.= nl2br($Besked = "<div style='font-family: verdana; font-size: 10px;'>$Besked</div><br><br>");
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