I am having some trouble with foreign characters when sending an e-mail. Could someone advise me on what to do? I suspect the problem could be one of three things.
Are there any other possible causes?
I am trying to knock these out 1 by 1 until I find the problem. I think that option 2 is the most likely cause. How do I add proper - universal encoding to a mail function?
This is what I have at the moment.
$mail_sent = mail($client_email, $title, $message, "From: {$visitor_email}");
I am currently aware that form does not send polish or Swedish characters.
I would be very grateful if someone could point out any other possible causes and tell me what encoding I need to use to send e-mails.
Thanks a lot.
PHP makes use of mail() function to send an email. This function requires three mandatory arguments that specify the recipient's email address, the subject of the the message and the actual message additionally there are other two optional parameters. mail( to, subject, message, headers, parameters );
But the PHP mail() function will not work in localhost. In this tutorial, we'll show how you can send email from localhost in PHP. Using this example script you can send email from any localhost server (XAMPP, WAMP, or any others) using PHP. We will use the PHPMailer library to send emails from localhost using PHP.
If you prefer, you can also change the default charset for all your future emails. Just select Settings (in the sidebar panel), click on Advanced Settings and scroll until you see the Messages section. From there you can select your new charset from the list.
As far as I know PHP does not support UTF-8 as default encoding for its strings. You need to use the relevant encoding/handling functions for the encoding you would prefer.
Also add a Content-Type:text/html;charset=utf-8
to your email headers so the email clients will display the characters correctly (or replace with your encoding of choice).
You didn’t specify the type and encoding of your content. Try this:
$headerFields = array( "From: {$visitor_email}", "MIME-Version: 1.0", "Content-Type: text/html;charset=utf-8" ); $mail_sent = mail($client_email, $title, $message, implode("\r\n", $headerFields));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With