Σελίδα 2 από 2

Re: Πρόβλημα με Ελληνικά στο Email Παραγγελίας OC 3.0.3.7

Δημοσιεύτηκε: 21 Ιουν 2021, 9:11
από theodor
Καλημέρα σας.
Η υπόθεση που κάνατε να το γυρίσουμε σε mail απο smtp είχε σωστό διερευνητικό χαρακτήρα να εντοπίσετε το bug .
Τελικά ΟΝΤΩΣ εχει bug στο SMTP πρωτόκολλο .
Απο το forum του Opencart
https://forum.opencart.com/viewtopic.ph ... 68#p823468
και η λύση :
https://github.com/opencart/opencart/co ... 5e43cc420e

Σε ευχαριστώ πολύ για τον χρόνο σου Αλεξάνδρα !
Καλημέρα !

Re: Πρόβλημα με Ελληνικά στο Email Παραγγελίας OC 3.0.3.7 [SOLVED]

Δημοσιεύτηκε: 21 Ιουν 2021, 17:14
από Alexandra
Καλησπέρα,

Η λύση που προτείνεται στο Git να μετατρέπει όλο το content σε base64 είναι κάπως εμβαλωματική καθώς δεν διορθώνει το bug, το καλύπτει και δημιουργεί ένα άλλο θέμα ότι το κείμενο του mail δεν θα μπορεί πλέον να διαβαστεί ως plain text στο source του email και αυτό μπορεί να δυσκολέψει το debugging σε άλλες περιπτώσεις.

Το πρόβλημα δεν οφείλεται στο Content-Transfer-Encoding. Το πρωτόκολλο RFC 6152 (SMTP Service Extension for 8-bit MIME Transport) αναφέρει ότι μπορεί να διαχειριστεί κανονικά χαρακτήρες με octet range πέρα από ASCII όπως είναι οι UTF8 και αυτό μπορεί κανείς να το διαπιστώσει εύκολα αν χρησιμοποιήσει την μέθοδο MAIL που στέλνει μια χαρά emails με Content-Transfer-Encoding: 8bit. Υπό κανονικές συνθήκες κάνουμε base64 μόνο το θέμα που υποστηρίζει ASCII και τα attachments.

Έλεγξα τον αρχείο smtp.php και το πρόβλημα οφείλεται στον κώδικα της γραμμής 191. Προτείνω λοιπόν την ακόλουθη λύση για μέθοδο αποστολής μέσω SMTP:

(Η τροποποίηση να γίνει σε καθαρό αρχείο χωρίς τις άλλες τροποποιήσεις που αναφέρονται στο git.)

Στο αρχείο system/library/mail/smtp.php στη γραμμή 191

το:
Κώδικας: Επιλογή όλων
$length = (mb_detect_encoding($message, mb_detect_order(), true) == 'ASCII') ? 998 : 249;
το κάνουμε:
Κώδικας: Επιλογή όλων
$length = (mb_detect_encoding($message, mb_detect_order(), true)!== 'ASCII') ? 998 : 249;

Re: Πρόβλημα με Ελληνικά στο Email Παραγγελίας OC 3.0.3.7 [SOLVED]

Δημοσιεύτηκε: 21 Ιουν 2021, 20:16
από theodor
Δυστυχώς δεν μπορώ να επαληθεύσω τα ευρήματα σου, ούτε εχω χρονο να δω αν δουλεύει η λύση σου αλλά θα έλεγα να κάνεις ενα comment στο git με την πρόταση σου ή στο post στο Forum που έχω ανοίξει .

Αν θέλεις να το επαληθεύσω οτι ειναι οκ πάντως πεσμου .

Τουλάχιστον βρήκαμε την λύση !

Ευχαριστώ Αλεξάνδρα !

Re: Πρόβλημα με Ελληνικά στο Email Παραγγελίας OC 3.0.3.7 [SOLVED]

Δημοσιεύτηκε: 21 Ιουν 2021, 20:58
από Alexandra
Καλησπέρα,

Εξήγησα ήδη αναλυτικά το σκεπτικό μου. Πρότεινα μία λύση που θεωρώ σωστή σύμφωνα με τις προδιαγραφές και τα best practices. Όποια λύση θέλεις ακολουθείς.