Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]utf-8 dla nazwy załącznika, polskie znaki w nazwie załącznika
jaroslavmo
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.03.2022

Ostrzeżenie: (0%)
-----


Gdy w nazwie załącznika występują polskie znaki, chciałbym aby nazwy we wiadomości wyświetlały się prawidłowo, w tym celu użyłem utf8_decode(); (lina nr 60)

Bez tego w miejscu polskich znaków mam tzw. "krzaki", natomiast po dodaniu utf8_decode w miejscu polskich znaków pojawiają się znaki zapytania.


(IMG:https://i.ibb.co/Jj2RqsM/src-mail.jpg)


  1.  
  2.  
  3. <?php
  4. //Import PHPMailer classes into the global namespace
  5. //These must be at the top of your script, not inside a function
  6. use PHPMailer\PHPMailer\PHPMailer;
  7. use PHPMailer\PHPMailer\SMTP;
  8. use PHPMailer\PHPMailer\Exception;
  9.  
  10. //Load Composer's autoloader
  11. require 'autoload.php';
  12.  
  13. //Create an instance; passing `true` enables exceptions
  14. $mail = new PHPMailer(true);
  15. $mail->addCustomHeader('Content-Type', 'text/plain;charset=utf-8');
  16. $mail->Encoding = 'base64';
  17. $honeypot = $_POST['honey'];
  18. $user_name = utf8_decode($_POST['name']);
  19. $user_email = $_POST['email'];
  20. $user_message = $_POST['message'];
  21. $user_phone = $_POST['phone'];
  22. $honeypot = trim($_POST["honey"]);
  23. $max_size = 2 * 1024 * 1204; //2mb
  24. $attachment = $_FILES['uploaded-file'];
  25.  
  26. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  27.  
  28.  
  29. if(!empty($honeypot)) {
  30. echo "NO SPAM!";
  31. } else {
  32.  
  33. $mail = new PHPMailer; //From email address and name
  34. $mail->isMail();
  35.  
  36. //sender
  37. $mail->From = $user_email;
  38. $mail->FromName = $user_name;
  39.  
  40. //recipient
  41. $mail->addAddress("jaroslaw.mor@gmail.com");
  42.  
  43.  
  44. //mail subject
  45. $mail->Subject = "Zapytanie ze strony www";
  46.  
  47.  
  48. $mail->isHTML(true);
  49. //body mail
  50. $mail->Body = "Telefon:$user_phone<br><br>Treść wiadomośći:<br>$user_message";
  51. $mail->AltBody = "Telefon:$user_phone\n$content";
  52.  
  53. //attachment
  54. if(isset($attachment)) {
  55.  
  56. for ($i = 0; $i < count($_FILES['uploaded-file']['name']); $i++) {
  57. if ($_FILES['uploaded-file']['error'][$i] !== UPLOAD_ERR_OK) continue;
  58. $file_TmpName = $_FILES['uploaded-file']["tmp_name"][$i];
  59. $file_name = utf8_decode( $_FILES['uploaded-file']["name"][$i]);
  60.  
  61. if ($_FILES['uploaded-file']['size'][$i] > $max_size) {
  62. echo "file is too big";
  63. die();
  64. }
  65.  
  66. else{
  67. move_uploaded_file($file_TmpName, "uploads/" . $file_name);
  68. $mail-> AddAttachment("uploads/". $file_name);
  69. }
  70. }//for
  71. }//isset
  72.  
  73. if(!$mail->send()) {
  74. echo "Mailer Error: " . $mail->ErrorInfo;
  75. exit();
  76. }
  77.  
  78. else {
  79. header("Location: sent.html");
  80.  
  81. exit();
  82.  
  83. }//if send else
  84.  
  85. }//honey else end
  86.  
  87. }//post end
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  


Ten post edytował jaroslavmo 1.04.2022, 11:41:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:01