Witam,
Wiem ze ten temat się przewijał kilka razy na forum ale żadne rozwiązanie tam podane nie rozwiązało mojego problemu:
Mam taki formularz narazie prosty:
(IMG:http://img137.imageshack.us/img137/193/20895047.th.png)
Uploaded with
ImageShack.usi do niego podpięty skrypt PHP który wysyła maila do mnie i na adres podany w formularzu jako potwierdzenie ze się coś takiego wysłało:
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsHTML(true);
//$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->IsSMTP(); // telling the class to use SMTP
$mail->FromName = "Firma Apple";
$mail->Host = "www.poczta.fm"; // SMTP server
$mail->From = "dojek@poczta.fm";
$mail->Username = "##########";
$mail->Password = ".................";
$mail->Port = 587;
$mail->AddAddress("dojek@poczta.fm");
$mail->Subject = "Formularz kontaktowy ze strony od firmy:$nome";
$mail->Body="Dane z formularza kontakowego! <br><br>Wiadomość: $mensagem<br><br> Dane firmy: $nome<br><br>e-mail kontakowy: $email";
$mail->WordWrap = 50;
$mail->CharSet="utf-8";
if(!$mail->Send())
{
echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; }
else
{
echo 'Message has been sent.'; }
$mail = new PHPMailer();
$mail->IsHTML(true);
//$mail->CharSet="utf-8";
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "www.poczta.fm"; // SMTP server
$mail->FromName = "Firma Apple";
$mail->From = "dojek@poczta.fm";
$mail->Username = "##########";
$mail->Password = ".................";
$mail->Port = 587;
$mail->AddAddress("$email");
$mail->Subject = "potwierdzenie wysłania formularza kontaktowego ze strony";
$mail->Body="Witaj,<br>Jest to wiadomość potwierdzająca wysłanie do nas formularza kontaktowego: <br><br>Wiadomość: $mensagem<br><br> Dane firmy: $nome<br><br>e-mail kontakowy: $email";
$mail->WordWrap = 50;
if(!$mail->Send())
{
echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; }
else
{
echo 'Message has been sent.'; }
$txt = '' ;
foreach( $_POST as $key => $value ) {
$txt .= $key.': '.$value.'<br/>'."\r\n" ;
}
?>
Problem w tym ze mail przychodzi jako UTF-8 tylko polskie znaki się pojawiają tylko w tekście który jest przesyłany jako HTML, natomiast to co jest przesyłane co ktoś wpisał do formularza to tam się pojawiają krzaczki.
Wygląd maila:
(IMG:http://img90.imageshack.us/img90/9094/123etd.th.png)
Uploaded with
ImageShack.usJak widać w kodzie mam wpisane
$mail->CharSet="utf-8";
ale to tylko pomaga dla tekstu który jest ręcznie wpisywany żeby szedł na maila.
Dzieki z góry za pomoc, bo przy formularzu zostały mi tylko 3 rzeczy i mógłbym skończyć już stronę(IMG:
style_emoticons/default/smile.gif)
Ten post edytował dojek 20.06.2011, 14:55:52