zbi213
21.03.2014, 09:46:43
Jako że to mój pierwszy post na tym forum witam wszystkich serdecznie.
Od jakiegoś czsu przeglądam to forum i wiele razy znalazłem potrzebne rozwiązania ale
tym razem mam problem. Wiadomości dochodzą bez polskich znaków.
Wprawdzie tytuł wiadomości ma polskie znaki bo udało mi się to rozwiązać ale
treść i od kogo niestety nie.
<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['your-name'];
$email=$_REQUEST['your-email'];
$mailsubject=$_REQUEST['your-subject'];
$message=$_REQUEST['your-message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject=" ($mailsubject)";
$subject="=?UTF-8?B?".base64_encode($subject)."?=";
mail("biuro@technicstudio.pl", $subject, $message, $from);
echo "Twoja wiadomość została wysłana.";
}
?>
Jeśli jest ktoś w stanie mi pomóc to będą bardzo wdzięczny.
nospor
21.03.2014, 09:47:54
1) Uzywaj bbcode
2) W mailu masz okreslic ze jest on w UTF8. W manualu przy funkcji mail() napisali jak to zrobic.
zbi213
21.03.2014, 09:54:03
Dzięki za szybką odpowiedź lecz gdybyś mógł bardziej rozjaśnić bo niewiele wiem o kodowaniu a kod który wkleiłem
kupiłem wraz z e stroną i stąd mój problem.
Do niego dopisałe $subject="=?UTF-8?B?".base64_encode($subject)."?="; i to sprawiło że tytół
ma polskie znaki ale reszta niestety nie.
Turson
21.03.2014, 09:54:57
Plik też musisz mieć w UTF-8
zbi213
21.03.2014, 09:57:41
Plik jest w UTF-8 ale to nic nie daje
nospor
21.03.2014, 10:04:31
Jak juz pisalem: zajrzyj do manuala
http://pl1.php.net/manual/en/function.mail.phpTam masz napisane jak ustawic UTF8 dla CALEGO MAILA a nie tylko dla tematu
zbi213
21.03.2014, 10:16:09
nospor , dzięki za link (wcześniej nie zrozumiałem o co Ci chodzi) Znalazłem tam o polskich znakach ale
jestem za cienki żeby to ogarnąć.
nospor
21.03.2014, 10:25:36
$from="Content-type: text/html; charset=utf-8\r\nFrom: $name<$email>\r\nReturn-path: $email";
zbi213
21.03.2014, 10:40:25
Częściowo pomogło bo treść już jest poprawnie niestety nazwa nadawcy nadal nie ma polskich znaków.
nospor
21.03.2014, 10:45:32
No to nadawce zrob dokladnie tak samo jak zrobiles z tematem (subject)
zbi213
21.03.2014, 11:03:49
Niestety żadne zabiegi nie pomagają. Chyba nie wiem jak to zrobić albo gzie wstawić.
Próbowałem też usunąć pole '' Twoje imię" ale wtedy nie chce wysłać wiadomości.
trueblue
21.03.2014, 11:09:41
Spróbuj dodać jeszcze te dwa nagłówki:
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
zbi213
21.03.2014, 11:17:23
nie pomaga.
trueblue
21.03.2014, 11:18:58
Ale $name nie koduj jak tematu.
zbi213
21.03.2014, 19:04:53
Wróciłem z pracy i próbuję dalej coś z tym zrobić lecz nadal nic.
Wkleję więcej kodu to może ktoś coś pomoże . Ewentualni jak
zrobić aby pole twoje imię nie było wymagane. Wtedy można by go usunąć i po
sprawie.
<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<div class="wpcf7" >
<form action="contact.php" method="post" class="wpcf7-form" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
<p>Twoje Imię (wymagane)<br>
<span class="wpcf7-form-control-wrap your-name">
<input name="your-name" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" type="text">
</span>
</p>
<p>Twój Email (wymagane)<br>
<span class="wpcf7-form-control-wrap your-email">
<input name="your-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" type="email">
</span>
</p>
<p>Temat (wymagane)<br>
<span class="wpcf7-form-control-wrap your-subject">
<input name="your-subject" value="" size="40" class="wpcf7-form-control wpcf7-text" type="text">
</span>
</p>
<p>Twoja Wiadomość (wymagane)<br>
<span class="wpcf7-form-control-wrap your-message">
<textarea name="your-message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea"></textarea>
</span>
</p>
<p>
input value="Wyślij" class="wpcf7-form-control wpcf7-submit" type="submit">
</p>
</form>
</div>
<?php
}
else /* send the submitted data */
{
$name=$_REQUEST['your-name'];
$email=$_REQUEST['your-email'];
$mailsubject=$_REQUEST['your-subject'];
$message=$_REQUEST['your-message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again."; }
else{
$from="Content-type: text/html; charset=utf-8\r\nFrom: $name<$email>\r\nReturn-path: $email";
$subject=" ($mailsubject)";
mail("biuro@technicstudio.pl", $subject, $message, $from); echo "Twoja wiadomość została wysłana."; }
}
?>
Dzięki wszystkim za pomoc . Już zrobiłem
trueblue
21.03.2014, 19:09:31
Spróbuj tak:
else{
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$headers .= 'From: '.$name.' <'.$email.'>'."\r\n";
$headers .= 'Reply-To: '.$email."\r\n";
$headers .= "Message-ID: <".(time().(rand(0,1000)))."TechnicStudio@".$_SERVER['SERVER_NAME'].">"."\r\n"; $headers .= "X-Mailer: PHP v".phpversion()."\r\n";
$subject=" ($mailsubject)";
mail("biuro@technicstudio.pl", $subject, $message, $headers); echo "Twoja wiadomość została wysłana."; }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.