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 -> &nbsp

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 :wink:
Ciao ... sei in onda??
Si stasera con una attricetta niente male .... 8)


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
Ordine Numero: 7
Dettagli fattura: http://www.1accessori.it/catalog/accoun ... order_id=7
Data Ordine: martedì 08 giugno, 2004
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 :?: