PHP Mail corrupts Umlaut characters or newlines

Discussion in 'PHP' started by POPDUM, Feb 21, 2008.

  1. #1
    Hi,

    I have to send email containing German characters (e.g. umlauts). I already had a script which worked with English characters, but it would mess up the German ones.

    So, I decided to use encoding in the header, and encoded it to UTF-8 as text/html (using text/plain does not work). Now, the German characters appear OK, but the newlines get lost. I tried using \n and \r\n as newline characters, but it does not work.

    Here is the code fragment which I am using:

    $name = $_POST['sendername'];
    $telefon = $_POST['telefon'];
    $message = $_POST['message'];
    $email = $_POST['email'];
    $typedcode = $_POST['typedcode'];
    $body = "* Name:\n$name\n\n".
    "* Email:\n$email\n\n".
    "* Telefon:\n$telefon\n\n".
    "* Anfrage:\n$message";

    $result = 'ok';
    mail("myname@gmx.net", "Kontaktformular", $body, "From: $email\n" .
    "MIME-Version: 1.0\n" . "Content-type: text/html; charset=utf-8\n" );

    As I said above, I tried using \r\n too, but it does not work.

    Any answers or suggestions are most welcome.
     
    POPDUM, Feb 21, 2008 IP
  2. able

    able Peon

    Messages:
    44
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    If you are sending it as html then you need to use <br> for spaces, /n won't affect html
     
    able, Feb 21, 2008 IP