email - PHP mail() changing some characters to htmlentities? -


my php mail() script changes ! exclamation mark on email clients such hotmail %21 when ! in tag in email body.

here's script

$to = "myemail@outlook.com"; $subject = "password reset"; $body = "<a href=\"http://example.com/#!/page\">link 1</a>         <br><br>         without href: http://example.com/#!/page - regular text     "; $headers = "from: no-reply@example.com\r\n"; $headers .= "reply-to: no-reply@example.com\r\n"; $headers .= "return-path: no-reply@example.com\r\n"; $headers .= "x-mailer: php5\n"; $headers .= 'mime-version: 1.0' . "\n"; $headers .= 'content-type: text/html; charset=utf-8' . "\r\n"; mail($to,$subject,$body,$headers); 

so in script above, ! changed %21 when it's link, regular text keeps /#!/instead of transforming /#%21/

how go fixing issue doesn't change %21?

some characters encoded because not valid urls. in case url code points replaced percent-encoded byte %.


Comments

Popular posts from this blog

matlab - "Contour not rendered for non-finite ZData" -

delphi - Indy UDP Read Contents of Adata -

javascript - Any ideas when Firefox is likely to implement lengthAdjust and textLength? -