Form to Email with attachment file "σκουπίδια" χαρακτήρες

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
heavyaris
Δημοσιεύσεις: 295
Εγγραφή: 15 Απρ 2008 21:31

Form to Email with attachment file "σκουπίδια" χαρακτήρες

Δημοσίευση από heavyaris » 19 Ιαν 2011 19:17

παιδιά, εφαρμοσα το script απο εδώ http://www.freestuff.gr/forums/viewtopi ... torder=asc

έκανα τις αλλαγές που έπρεπε, όμως το όνομα και το μήνυμα έρχονται αλαμπουρνέζικα, τι μπορώ να κάνω;
(το άρχείο είναι ήδη σε utf 8 without bom)

σε κάποιο παλιό mail script που χρησιμοποιούσα, το έλυσα βάζοντας

Κώδικας: Επιλογή όλων

$subject = "$_POST[subject]" ;
$charset='UTF-8';
$encoded_subject="=?$charset?B?".base64_encode($subject)."?=\n";
μπορώ να εφαρμόσω κάτι αντίστοιχο;
ευχαριστώ.

Κώδικας: Επιλογή όλων

<?php 
$admin_email =   "***"; // <== edo vazete to email sas//

$email_subject = "*****"; 
$check_email =   check_email_address&#40;$_REQUEST&#91;'email'&#93;&#41;;  
$mime_boundary=  "==Multipart_Boundary_x".md5&#40;mt_rand&#40;&#41;&#41;."x"; 
$headers = "From&#58; $check_email\r\n" . "MIME-Version&#58; 1.0\r\n" . "Content-Type&#58; multipart/mixed; charset=utf-8; \r\n" . " boundary=\"&#123;$mime_boundary&#125;\""; 

$message = "Onoma&#58;" .$_POST&#91;'name'&#93;    ."\n".
           "Til&#58;"   .$_POST&#91;'tel'&#93;     ."\n".
           "Minima&#58;".$_POST&#91;'message'&#93;; 

$message .= "This is a multi-part message in MIME format.\n\n" . "--&#123;$mime_boundary&#125;\n" ."Content-Type&#58; text/html; charset=utf-8; \n" .  "Content-Transfer-Encoding&#58; 7bit\n\n" . $message . "\n\n";
		   
function check_email_address&#40;$email&#41; &#123; 
  if &#40;!ereg&#40;"^&#91;^@&#93;&#123;1,64&#125;@&#91;^@&#93;&#123;1,255&#125;$", $email&#41;&#41; &#123; 
    header&#40;"Location&#58; mail.php?status=0"&#41;; 
  &#125; 
  $email_array = explode&#40;"@", $email&#41;; 
  $local_array = explode&#40;".", $email_array&#91;0&#93;&#41;; 
  for &#40;$i = 0; $i < sizeof&#40;$local_array&#41;; $i++&#41; &#123; 
     if &#40;!ereg&#40;"^&#40;&#40;&#91;A-Za-z0-9!#$%&'*+/=?^_`&#123;|&#125;~-&#93;&#91;A-Za-z0-9!#$%&'*+/=?^_`&#123;|&#125;~\.-&#93;&#123;0,63&#125;&#41;|&#40;\"&#91;^&#40;\\|\"&#41;&#93;&#123;0,62&#125;\"&#41;&#41;$", $local_array&#91;$i&#93;&#41;&#41; &#123; 
       header&#40;"Location&#58; mail.php?status=0"&#41;; 
    &#125; 
  &#125;  
  if &#40;!ereg&#40;"^\&#91;?&#91;0-9\.&#93;+\&#93;?$", $email_array&#91;1&#93;&#41;&#41; &#123; 
    $domain_array = explode&#40;".", $email_array&#91;1&#93;&#41;; 
    if &#40;sizeof&#40;$domain_array&#41; < 2&#41; &#123; 
         die &#40;"Invalid email address"&#41;; 
    &#125; 
    for &#40;$i = 0; $i < sizeof&#40;$domain_array&#41;; $i++&#41; &#123; 
      if &#40;!ereg&#40;"^&#40;&#40;&#91;A-Za-z0-9&#93;&#91;A-Za-z0-9-&#93;&#123;0,61&#125;&#91;A-Za-z0-9&#93;&#41;|&#40;&#91;A-Za-z0-9&#93;+&#41;&#41;$", $domain_array&#91;$i&#93;&#41;&#41; &#123; 
         header&#40;"Location&#58; mail.php?status=0"&#41;; 
      &#125; 
    &#125; 
  &#125; 
  return $email; 
&#125; 


   foreach&#40;$_FILES as $userfile&#41;&#123; 
      $tmp_name = $userfile&#91;'tmp_name'&#93;; 
      $type = $userfile&#91;'type'&#93;; 
      $name = $userfile&#91;'name'&#93;; 
      $size = $userfile&#91;'size'&#93;; 

      if &#40;file_exists&#40;$tmp_name&#41;&#41;&#123; 
         if&#40;is_uploaded_file&#40;$tmp_name&#41;&#41;&#123; 
            $file = fopen&#40;$tmp_name,'rb'&#41;; 
            $data = fread&#40;$file,filesize&#40;$tmp_name&#41;&#41;; 
            fclose&#40;$file&#41;; 
            $data = chunk_split&#40;base64_encode&#40;$data&#41;&#41;; 
         &#125; 

$message .= "This is a multi-part message in MIME format.\n\n" . "--&#123;$mime_boundary&#125;\n" ."Content-Type&#58; text/html; charset=utf-8; \n" .  "Content-Transfer-Encoding&#58; 7bit\n\n" . $message . "\n\n";      &#125; 
   &#125; 

$message.="--&#123;$mime_boundary&#125;--\n";  
   
if&#40;@mail&#40;$admin_email,$email_subject,$message,$headers&#41;&#41; &#123; 
header&#40;"Location&#58; mail.php?status=1"&#41;; 
exit; 
&#125; else &#123; 
header&#40;"Location&#58; mail.php?status=0"&#41;; 
&#125; 
?>

Κώδικας: Επιλογή όλων

Κώδικας: Επιλογή όλων


Άβαταρ μέλους
stevebat
Script Master
Δημοσιεύσεις: 307
Εγγραφή: 05 Αύγ 2009 15:54
Επικοινωνία:

Form to Email with attachment file "σκουπίδια" χαρακτήρες

Δημοσίευση από stevebat » 19 Ιαν 2011 22:03

Παρακάτω σου δίνω την απάντηση που μου είχε δώσει εμένα ο vassilism
vassilism έγραψε:Πήγαινε στη γραμμή 7 και κάνε τη μεταβλητή $headers έτσι:

Κώδικας: Επιλογή όλων

$headers = "From&#58; $check_email\r\n" . "MIME-Version&#58; 1.0\r\n" . "Content-Type&#58; multipart/mixed; charset=utf-8; \r\n" . " boundary="&#123;$mime_boundary&#125;""; 
Επίσης εκεί που λέει:

Κώδικας: Επιλογή όλων

$message = "This is a multi-part message in MIME format.\n\n" . "--&#123;$mime_boundary&#125;\n" . "Content-Type&#58; text/plain; charset="iso-8859-7"\n" . "Content-Transfer-Encoding&#58; 7bit\n\n" . $message . "\n\n"; 
Κάνε το έτσι:

Κώδικας: Επιλογή όλων

$message .= "This is a multi-part message in MIME format.\n\n" . "--&#123;$mime_boundary&#125;\n" ."Content-Type&#58; text/html; charset=utf-8; \n" .  "Content-Transfer-Encoding&#58; 7bit\n\n" . $message . "\n\n";

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης