2012-12-19 15 views
11

मैं PHPMailer वर्ग के साथ एक ईमेल भेजने के लिए कोशिश कर रहा हूँ के साथ सही पात्रों के साथ ईमेल भेजते हैं, लेकिन एचटीएमएल मैं भेजने के लिए, खाली है, या वर्ण कॉन्फ़गर किए हैं, और लहजे के बिना।नहीं कर सकते PHPMailer

<?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('[email protected]', 'Conectfarma'); 
    $mail->AddReplyTo('[email protected]', '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! 
} 
     } 
    } 
} 

?> 

मैंने एसएमटीपी कॉन्फ़िगरेशन को कूद दिया क्योंकि यह ठीक से काम कर रहा है।

+1

सुनिश्चित करें कि आपका कोड UTF8 है, टिप्पणी हटाएं '$ मेल> charset =" UTF8 ",'। अपनी मूल भाषा में कोड न लिखें। –

+0

@TomaszKowalczyk ने अभी टिप्पणी की है, लेकिन फिर भी, मुझे प्राप्त होने वाला ईमेल "एनए £ ओ वाई माई पाउंड" है। और मूल भाषा के बारे में खेद है। – darkman

+0

क्या आप वाकई वाकई सुनिश्चित हैं कि आपकी फाइलें यूटीएफ -8 एन्कोडेड हैं? –

उत्तर

32

डबल जाँच आपका PHP कोड UTF-8 एन्कोडिंग में भी है।

टिप्पणी हटाएं लाइन //$mail->CharSet="UTF-8"; और idealy सही $mail = new PHPMailer(true); के बाद यह ले जाते हैं, तो कोड दिखाई देगा:

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

अपने कोड में बाद $mail->Send(); इस प्रकार चारसेट सेटिंग गिनती में नहीं लिया यह कहा जाता है। ..

संबंधित मुद्दे