manca il testo del messaggio privato nella mail di avviso

Started by alexred, May 04, 2014, 06:15:27 AM

Previous topic - Next topic

alexred

Salve a tutti,
da alcuni giorni sul nostro forum SMF 2.0.7 c'è un piccolo problemino.
Quando gli utenti si inviano messaggi privati parte correttamente la mail di avviso ma questa non contiene più il testo del messaggio privato inviato.
Questa una parte del testo della mail:

Quote
IMPORTANTE: ricorda, questa è solo una notifica. Non rispondere a questa e-mail.

Il messaggio inviato è:

e dopo questa parte non viene riportato il testo del messaggio. Mentre vengono riportati correttamente il nome dell'utente che ha inviato il messaggio privato, l'oggetto ed il link diretto per rispondere ecc...

Non saprei se questo problema è arrivato dall'ultimo aggiornamento del forum alla 2.0.7,
siamo inoltre recentemente passati da un server Apache ad un server con Nginx e MySQL Server MariaDB e PHP 5.4 ma non saprei se può dipendere da questo...

emanuele

Ops, scusa il ritardo, ma oggi è stata una giornata un po' "spessa" e ho dimenticato aperto la tab in una finestra "sperduta"... lol

hmm...

Quella "è" è inclusa nel messaggio?
Chiedo conferma, perché se lo tagliasse in corrispondenza potrei pensare a qualche problema di encoding, ma se lo lascia e non mette proprio il messaggio è altro.
Da qui a dire cosa è dura...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

Ciao emanuele,
grazie per la risposta.
Si, la  "è" è inclusa nel messaggio e nelle variabile lingua, è poi correttamente seguita dai duepunti.
Da ieri poi gli avvisi via mail hanno ripreso a riportare correttamente il testo del messaggio privato.....   booooooo  rimane un mistero  :)

emanuele

...
E' sempre un piacere quando gli script fanno quello che vogliono...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

Ninja ZX-10RR

Quote from: alexred on May 05, 2014, 03:04:45 AM
Ciao emanuele,
grazie per la risposta.
Si, la  "è" è inclusa nel messaggio e nelle variabile lingua, è poi correttamente seguita dai duepunti.
Da ieri poi gli avvisi via mail hanno ripreso a riportare correttamente il testo del messaggio privato.....   booooooo  rimane un mistero  :)

Ma serio?
Quote from: BeastMode topic=525177.msg3720020#msg3720020
It's so powerful that on this post and even in the two PMs you sent me,you still answered my question very quickly and you're apologizing for the delay. You're the #1 support I've probably ever encountered man, so much respect for that. Thank you, and get better soon.

I'll keep this in my siggy for a while just to remind me that someone appreciated what I did while others didn't.

♥ Jess ♥

STOP EDITING MY PROFILE

alexred

abbiamo replicato il problema.
Se il testo del messaggio contiene caratteri speciali o anche solo una formattazione in corsivo la mail arriva senza il testo del messaggio.

La codifica del nostro forum è ancora in ISO e non saprei se riuscite a replicare il problemino....

emanuele

Molto strano però che lo tronchi nelle mail e non nei post...però... usate la coda delle mail?
SMTP o phpmail?

Controlla per sicurezza encoding e collation di database e tabelle.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

No, niente coda mail ed usiamo phpmail.

Forse il problema è proprio nella codifica, il forum sul nuovo server è stato creato in utf8_general_ci e non in latin1_swedish_ci,
poi le tabelle sono correttamente in latin1_swedish_ci

emanuele

hmmm...
Puoi provare ad abilitare la coda per verificare?

Ma prima, potresti provare a mandarmi un PM con un testo che di norma viene troncato? (Il mio account è emanuele45.)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

Ciao emanuele,
anche con la coda abilitata ottengo lo stesso problema.

PM di test inviato

emanuele

Mi verrebbe da consigliarti di convertire ad UTF8, ma la paura che la stessa cosa vada storta durante la conversione mi spaventa...
Se hai la possibilità potresti provare clonando il forum e facendo la conversione.

Questa è veramente, ma veramente strana, la prima volta che mi capita, mi era capitato nei testi dei messaggi (vecchi e nuovi), mi son capitati caratteri strani (ho appena spostato un forum da 200k messaggi, durante la prova nessuno se n'è accorto, quando sono "andato live" ci siamo accorti che alcuni caratteri speciali erano stati alterati, me li son dovuti rimettere a posto a mano... xD).

All'inizio pensavo a qualcosa che andava storto nella comunicazione tra SMF e phpmail, ma dopo il test mi rendo conto che è qualcosa interno ad SMF perché anche la versione base64 encoded non ha il corpo del messaggio...
Quindi qualcosa fallisce "dentro" ad SMF, l'unico motivo che potrebbe venirmi in mente è perché fallisce a "capire" che il forum è ISO e cerca di trattarlo come UTF8.
Ora, perché non lo capisca è tutto un altro discorso...

Purtroppo al momento non posso, cercherò stasera di guardare il codice e cercare di capire dove può essere il problema (a sto punto mi viene quasi da pensare sia un bug).

Oh, un'altra cosa: potresti controllare in Settings.php se c'è qualche riferimento a UTF8?
Ed anche in index.italian.php (ci dovrebbe essere una stringa con l'encoding).
Se non ricordo male c'è anche la possibilità di specificarlo nella tabella settings, ma devo andare a guardare il codice perché non mi ricordo più i dettagli.

Come pezza estremamente temporanea, potresti cambiare il testo della mail in modo da non indicare che ci dovrebbe essere il testo.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

Quote from: emanuele on May 07, 2014, 02:51:25 AM
Mi verrebbe da consigliarti di convertire ad UTF8, ma la paura che la stessa cosa vada storta durante la conversione mi spaventa...
Se hai la possibilità potresti provare clonando il forum e facendo la conversione.
ho provato più volte (su copie di backup) a fare lanciare la conversione ad UTF8 ma la procedura si blocca......  non saprei se a causa delle dimensioni del nostro database o per altri problemi e limitazioni.

Nel file index.italian.php appare il riferimento all'ISO:
$txt['lang_character_set'] = 'ISO-8859-1';

nel file Settings.php non ho trovato riferimenti alla codifica.

Grazie per l'aiuto

emanuele

azz...
La funzione iconv è presente sul nuovo server?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

nel php.ini leggo:

iconv
iconv support    enabled
iconv implementation    glibc
iconv library version    2.12

Directive                       Local Value     Master Value
iconv.input_encoding       UTF-8   ISO-8859-1
iconv.internal_encoding   UTF-8   ISO-8859-1
iconv.output_encoding    UTF-8   ISO-8859-1


Quindi la funzione iconv pare presente ed abilitata. La questione sulle directive UTF-8 Local  e  ISO-8859-1 Master  non saprei come interpretarla, credi sia corretta per il nostro forum in ISO o meglio impostare il Local Value ISO-8859-1  ?

Grazie per l'aiuto

emanuele

Sorry, ieri è stata una giornata trafficata...
Onestamente brancolo un po' nel buio, siccome hai elencato due possibili cause (cambio host, aggiornamento 2.0.7) ed io ho riscontrato problemi con entrambe, proviamo una cosa: tagliamo la testa al toro e vediamo di escluderne una: prova a disinstallare la patch 2.0.7. Non è una patch di sicurezza, quindi non causa problemi.

Solo, prima di toglierla senti il tuo host e chiedigli se ha disabilitato il modimodificatore "e" per le espressioni regolari di php (te lo dico perché ho visto forum morire dall'oggi al domani perché l'ho aveva deciso di disabilitare questo modifier e quindi tutte le preg_replace che contavano su di esso sono morte.

Quindi: 1) chiedi lumi all'host sul modificatore "e" (oppure prova semplicemente un pezzo di codice che lo contiene e vedi se gira), 2) se non ci sono problemi prova a rimuovere la patch 2.0.7.

ETA: prima di quanto sopra, fai una prova veloce, per favore.
In Subs-Post.php cerca:
Code (find) Select
$message = trim(un_htmlspecialchars(strip_tags(strtr(parse_bbc(htmlspecialchars($message), false), array('<br />' => "\n", '</div>' => "\n", '</li>' => "\n", '&#91;' => '[', '&#93;' => ']')))));
e rimpiazzalo con:
Code (replace with) Select
$message = trim(un_htmlspecialchars(strip_tags(strtr(parse_bbc($smcFunc['htmlspecialchars']($message), false), array('<br />' => "\n", '</div>' => "\n", '</li>' => "\n", '&#91;' => '[', '&#93;' => ']')))));
Se continua a non funzionare, riportalo alla versione originale. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

Ottimo!!!
Modificato come suggerito il file Subs-Post.php ed il problema pare risolto.

Continuo a monitorare e fare test.

Grazie per l'aiuto

emanuele

Great! :D

Allora bisogna ringraziare Spuds che ha notato l'incongruenza! :D


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

alexred

Perdonatemi ma non saprei chi sia Spuds e lo ringrazio molto volentieri.

Con eventuali aggiornamenti futuri rischio di perdere questa modifica o sarà implementata nel core di SMF ?

Advertisement: