Pagina 1 di 2
Mail a cliente con errori
Inviato: 04/06/2004, 16:04
da ioivi
Testando il negozio noto che i clienti ricevono mail con dei codici strani, ad esempio:
Consegna in Sede (Consegna della merce presso la nostra sede di & nbsp;& nbsp;& nbsp;& nbsp;Via pinco pallino 112& nbsp;& nbsp; & nbsp;42100, Reggio Emilia - RE): €0,00
Totale: €19,60
(ho messo io uno spazio fra "&" e "nbsp" perchè altrimenti non compariva
Oppure, in un'altro caso:
I commernti per il tuo ordine sono\n\n\n\n
Il tuo ordine è stato aggiornato al seguente stato.\n\nNuovo stato:
Evaso\n\nRispondi a questa E-mail in caso di problemi.\n
Come lo risolvo?
Non è carino ricevere una mail con questi codici ...
Grazie
Ioivi
Inviato: 04/06/2004, 21:31
da marcus
Come hai settati i parametri E-Mail Linefeeds e Use MIME HTML When Sending Emails?
La presenza del carattere '\n' dovrebbe dipendere dal settaggio del paramentro E-Mail Linefeeds.
Su che client di posta hai verificato queste stranezze?
Che vuoi dire con: '(ho messo io uno spazio fra "&" e "nbsp" perchè altrimenti non compariva)' ?
Marzullus
Inviato: 04/06/2004, 23:09
da ioivi
marcus ha scritto:Come hai settati i parametri E-Mail Linefeeds e Use MIME HTML When Sending Emails?
La presenza del carattere '\n' dovrebbe dipendere dal settaggio del paramentro E-Mail Linefeeds.
E-mail Linefeeds = LF
Use MIME HTML When Sending Emails = FALSE
Su che client di posta hai verificato queste stranezze?
Ho spedito verso un account hotmail e consultata online
Un'altra prova l'ho fatta verso il mio outlook2002 (non express)
Sul primo vedo i /n/n
Sul secondo vedo & nbsp
Che vuoi dire con: '(ho messo io uno spazio fra "&" e "nbsp" perchè altrimenti non compariva)' ?
Marzullus
Che se non inserivo uno spazio fra la "&" e "nbsp" qui sul forum non compariva nulla.
Forse perchè questa parola è interpretata da un browser ... insomma la metto anche qui ->  
Come vedi non appare, fai una prova pure tu ...
Ciao ... sei in onda??
Inviato: 05/06/2004, 2:58
da marcus
Imposta:
E-mail Linefeeds = CRLF
Use MIME HTML When Sending Emails = TRUE
Per la cronaca: è la codifica in HTML dello spazio, ecco perchè non si vede
Ciao ... sei in onda??
Si stasera con una attricetta niente male ....
Marcus Marzullus
Inviato: 05/06/2004, 9:07
da ioivi
marcus ha scritto:Imposta:
E-mail Linefeeds = CRLF
Use MIME HTML When Sending Emails = TRUE
Marcus Marzullus
Ecco il risultato:
Numero di Ordine: 6
Dettagli Fattura:
http://www.1accessori.it/catalog/accoun ... order_id=6
Data di Ordine: venerdì 04 giugno, 2004
I commernti per il tuo ordine sono\n\nCIAO\n\n
Il tuo ordine è stato aggiornato al seguente stato.\n\nNuovo stato: Pendente\n\nRispondi a questa E-mail in caso di problemi.\n
Ricevuto su Outlook 2002
Tutti i settaggi di posta sono i seguenti:
E-Mail Transport Method = sendmail
E-Mail Linefeeds = CRLF
Use MIME HTML When Sending Emails = true
Verify E-Mail Addresses Through DNS = false
Send E-Mails = true
Boooo
Inviato: 05/06/2004, 19:14
da marcus
Scusa mi sono sbagliato sul valore del parametro E-Mail Linefeeds.
Impostando:
E-Mail Linefeeds = LF
Use MIME HTML When Sending Emails = true
tutto DOVREBBE funzionare, in effetti io uso questa configurazione e tutto è OK .
Marzullus
Inviato: 05/06/2004, 19:41
da ioivi
niente da fare
non cambia nulla
Inviato: 05/06/2004, 19:54
da marcus
ioivi ha scritto:niente da fare
non cambia nulla
Strano, ma su hotmail e su Outlook Express cosa ricevi?
Inviato: 05/06/2004, 23:18
da ioivi
marcus ha scritto:
Strano, ma su hotmail e su Outlook Express cosa ricevi?
Da entrambe le parti ora le mail hanno i /n/n/n
Non so da che parte cominciare .. ho provato un po' di tutto in quel menù ma non cambia nulla ...
Inviato: 06/06/2004, 3:30
da marcus
Sei su server Linux con Sendmail? se si dovrebbe andare bene:
E-Mail Transport Method = sendmail
altrimenti su server windows:
E-Mail Transport Method = smtp
Ma questo problema si è presentato fin dall'inizio, in seguito a qualche tua modifica, o senza motivo apparente? in quest'ultimo caso potrebbe essere colpa di una modifica della conf da parte del tuo provider.
Per ultimo puoi provare a guardare dentro il file checkout_process.php, che è quello dove viene composta l'email di conferma ordine.
Marzullus
Inviato: 06/06/2004, 19:00
da BluEdoG
Come dice Marzulluss gli \n indicano l'acapo, pero non tutti i sendmail gradiscono la cosa, mi è capito di dover affiancare anche (pero' sto' andando a memoria e non ne sono sicuro al 100% circa il tag) \s
Inviato: 07/06/2004, 17:06
da ioivi
marcus ha scritto:Sei su server Linux con Sendmail? se si dovrebbe andare bene:
E-Mail Transport Method = sendmail
...
Ma questo problema si è presentato fin dall'inizio, in seguito a qualche tua modifica, o senza motivo apparente?
Per ultimo puoi provare a guardare dentro il file checkout_process.php, che è quello dove viene composta l'email di conferma ordine.
Marzullus
Si, server Linux, dunque è su sendmail fin dall'origine.
Sulla seconda domana francamente non so risponderti. Forse mi sono inviato mail di prova ma ho solo guardato che arrivassero è le ho segate subito per non confonderle con la posta vera ...
Il file chechout-process.php contiene le seguenti info:
// lets start with the email confirmation
$email_order = STORE_NAME . "\n" .
EMAIL_SEPARATOR . "\n" .
EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" .
EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n";
if ($order->info['comments']) {
$email_order .= tep_db_output($order->info['comments']) . "\n\n";
}
$email_order .= EMAIL_TEXT_PRODUCTS . "\n" .
EMAIL_SEPARATOR . "\n" .
$products_ordered .
EMAIL_SEPARATOR . "\n";
for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
$email_order .= strip_tags($order_totals[$i]['title']) . ' ' . strip_tags($order_totals[$i]['text']) . "\n";
}
if ($order->content_type != 'virtual') {
$email_order .= "\n" . EMAIL_TEXT_DELIVERY_ADDRESS . "\n" .
EMAIL_SEPARATOR . "\n" .
tep_address_label($customer_id, $sendto, 0, '', "\n") . "\n";
}
$email_order .= "\n" . EMAIL_TEXT_BILLING_ADDRESS . "\n" .
EMAIL_SEPARATOR . "\n" .
tep_address_label($customer_id, $billto, 0, '', "\n") . "\n\n";
if (is_object($$payment)) {
$email_order .= EMAIL_TEXT_PAYMENT_METHOD . "\n" .
EMAIL_SEPARATOR . "\n";
$payment_class = $$payment;
$email_order .= $payment_class->title . "\n\n";
if ($payment_class->email_footer) {
$email_order .= $payment_class->email_footer . "\n\n";
}
}
tep_mail($order->customer['firstname'] . ' ' . $order->customer['lastname'], $order->customer['email_address'], EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
Vedi qualcosa di errato?
Inviato: 07/06/2004, 18:24
da marcus
No è uguale al mio.
Marcus
dopo affannosa ricerca ...
Inviato: 08/06/2004, 0:21
da ioivi
Ho rifatto la procedura da capo dopo aver settato tutto (credo) correttamente
Ho simulato un'ordine, la mail generata è ok, senza errori.
Unica "sbavatura" il link a "Dettagli fattura" non è attivo, si deve fare copia/incolla insomma
Quando il negozio partirà al 100% darò comunicazione al cliente di avvenuta spedizione. Questo andando in admin/clienti/ordini, scegliendo l'ordine, entrando dentro, cambiando stato da PENDENTE a EVASO.
A questo punto oscommerce lancia una mail al cliente ed è questa che da gli errori segnalati
1accessori.it
------------------------------------------------------
Numero di Ordine: 7
Dettagli Fattura:
http://www.1accessori.it/catalog/accoun ... order_id=7
Data di Ordine: martedì 08 giugno, 2004
Il tuo ordine è stato aggiornato al seguente stato.\n\nNuovo stato: Evaso\n\nRispondi a questa E-mail in caso di problemi.\n
Da qui una mia riflessione.
Ho cercato OVUNQUE nei file lato cliente i testi in italiano
"Il tuo ordine è stato aggiornato al seguente stato"
"Nuovo stato"
"Rispondi a questa E-mail in caso di problemi"
Non ho trovato traccia di queste traduzioni.
Non è che il problema sia sul lato admin?
Io mi metto a cercare ancora lato admin, se qualcuno avesse suggerimenti, anzi, perchè non provate a fare la stessa mia prova?
Se avete un utente di prova con un vostro indirizzo di posta, provate a fare un ordine e a variarne lo stato successivamente, poi mi dite se il problema è solo mio?
Grazie
Inviato: 08/06/2004, 0:33
da ioivi
TROVATOOOOO
file orders.php lato admin
Il file si trova in catalog/admin/includes/language/italian/orders.php
Qui dentro ho trovato questo
SEPARATOR', '------------------------------------------------------');
define('EMAIL_TEXT_SUBJECT', 'Ordine aggiornato');
define('EMAIL_TEXT_ORDER_NUMBER', 'Numero di Ordine:');
define('EMAIL_TEXT_INVOICE_URL', 'Dettagli Fattura:');
define('EMAIL_TEXT_DATE_ORDERED', 'Data di Ordine:');
define('EMAIL_TEXT_STATUS_UPDATE', 'Il tuo ordine è stato aggiornato al seguente stato.\n\nNuovo stato: %s\n\nRispondi a questa E-mail in caso di problemi.\n');
define('EMAIL_TEXT_COMMENTS_UPDATE', 'I commernti per il tuo ordine sono\n\n%s\n\n');
E' qui il problema