Cant send email with correct characters with PHPMailer

email, html, php, phpmailer

Solution

Double check Your PHP code is also in UTF-8 encoding.

Uncomment the line `//$mail->CharSet="UTF-8";` and move it idealy right after the `$mail = new PHPMailer(true);`, so the code would look like:

// ...
$mail = new PHPMailer(true);
$mail->CharSet = "UTF-8";
// ...

In Your code it is called after the `$mail->Send();` thus the charset setting did not take in count...

Problem

I'm trying to send a e-mail with the PHPmailer class, but the html i send, is empty, or the characters are unconfigured, and without accents. ``` <?php header("Content-Type: text/html; charset=ISO-8859-1", true); require_once('class.phpmailer.php'); include "config.php"; $nome = trim($_POST['nome']); $email = trim($_POST['Imail']); $usuario = trim($_POST['usuario']); $senha = trim($_POST['senha']); $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch $mail->IsSMTP(); // telling the class to use SMTP try { $mail->AddAddress($email, $nome); $mail->SetFrom('editora@conectfarma.net', 'Conectfarma'); $mail->AddReplyTo('editora@conectfarma.net', 'Conectarma'); $subject = 'Guia Rápido de Interações Medicamentosas'; $sendsubject= "=?utf-8?b?".base64_encode($subject)."?="; $mail->Subject = $sendsubject; $mensagem = "<!DOCTYPE html> <html> <body> Bem vindo ao Guia Rápido de Interações Medicamentosas em Neurologia e Psiquiatria Seu Login e Senha para acesso ao aplicativo são:\n Login:" .$nome. "\n, Senha : " .$senha. "\nAtenciosamente, Conectfarma Publicações Científicas </body> </html>"; $mail->Body = $mensagem; //$mail->CreateBody($mensagem); $mail->IsHTML(true); $mail->Send(); //$mail->CharSet="UTF-8"; echo "<!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> <title>Confirmação</title> </head> <body> Não vai maçã. </body> </html> "; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! } } } } ?> ``` I jumped the SMTP configuration because its working properly.

Original source