Jump to content

[Risolto] Problema mail (annoso)


calfasoft

Recommended Posts

Ciao a tutti, avevo un sito con la versione 1.3.6 e c'erano alcuni problemi con le mail che avevo parzialmente risolto seguendo i vari consigli che avevo trovato qui sul forum.
Ora l'ho aggiornato alla 1.3.7 ed i problemi si sono riproposti, ovvero non inviava nessuna mail (nemmeno quella di test). Ripetendo i passaggi fatti in precedenza sono tornato ad avere funzionante l'invio della mail di test, ma la conferma d'ordine così come le mail di modifica dello stato dell'ordine e via dicendo non arrivano.
Premetto che il sito è ospitato su di un server linux con hosting professionale, che il sendmail() di php funziona perfettamente, che ho creato un account di posta e l'ho configurato all'interno del file tools / swift / Swift / Message.php linea # 79 e che le sotto cartelle it di mail e di mailalert le ho ricaricate dal precedente sito.
mi potete aiutare ???
grazie :-)

il sito è : www.ilnegoziodigio.eu/bottega

salute a tutti

Link to comment
Share on other sites

Nessun aiuto dalla community ? :-(

Prova a re-installare il modulo "Mail di segnalazione".
Navigando sul tuo sito, essendo su un hosting professionale mi sembra lento, verifica questo file:
config/smarty.config.inc.php alla riga 10 devi cambiare true in false.
<?php
require_once(PS_SMARTY_DIR.‘Smarty.class.php’);
$smarty = new Smarty();
$smarty->template_dir = PS_THEME_DIR.‘tpl’;
$smarty->compile_dir = PS_SMARTY_DIR.‘compile’;
$smarty->cache_dir = PS_SMARTY_DIR.‘cache’;
$smarty->config_dir = PS_SMARTY_DIR.‘configs’;
$smarty->caching = false;
$smarty->force_compile = false; // to pass “false” when put into production
$smarty->compile_check = false;
//$smarty->debugging = true;
$smarty->debug_tpl = PS_ALL_THEMES_DIR . ‘debug.tpl’;
Ciao
Link to comment
Share on other sites

Fai ancora queste modifiche: abilità mod_gzip e mod_expires sul server. URL SEMPLICE dal backoffice, crea la sitemap con il modulo google sitemap oppure su tuttowebmaster.it e invialo a google dal panello strumenti webmaster di google account.
Ciao

Link to comment
Share on other sites

  • 2 weeks later...

Ciao a tutti!

Questo problema della mail attanaglia tutti e nessuno riesce a risolverlo!
Io ero uno dei tanti che aveva problemi di mail e pensavo fosse un problema del mio server.
Fatte le dovute verifiche mi sono reso conto che il comando mail() di php sul mio server funzionava perfettamente usando una pagina fatta da me...
Per farla breve... ho risolto il problema sostituendo il tool swift con un'altra libreria e finalmente il mio negozio funziona correttamente.
La versione su cui ho fatto le modifiche e la 1.2.5 un po' obsoleta... ma stamattina ho fatto i test sulla versione 1.3.7 e i problemi sul mio server riguardo le mail permangono.

Credo che sia da imputare allo stesso problema.

Nelle varie peripezie mi ero anche scaricato la versione completa di swift e l'avevo provata sul mio server: FUNZIONAVA PERFETTAMENTE!!!!

Forse la versione ritagliata per prestashop è obsoleta!

Ho dovuto modificare /classes/Mail.php e aggiungere, per non stravolgere l'alberatura di prestahop, una classe che facesse lo stesso lavoro di swift ma in maniera più semplice, class.phpmailer-lite.php, da mettere sotto la cartella tools/swift/

In quest'ultimo file dovrete modificare due variabili:
riga 84: public $From = '[email protected]'; qui dovrete inserire la vostra mail mittente
riga 152: public $Hostname = 'mail.aaaa.com'; qui dovrete inserire il vostro server SMTP

Ve li allego... nei prossimi giorni farò lo stesso tentativo sulla 1.3.7
Questa soluzione risolve la maggiorparte dei problemi... anche la form dei contatti è andata a posto, usatela con cautela... e più una martellata che una soluzione elegante, quindi fate dei test prima!!! ;-)

Mail.php

class.phpmailer-lite.php

Link to comment
Share on other sites

Non essendoci una mazza in televisione... mi sono dato da fare ed eccovi la versione Mail.php per la versione 1.3.7 di prestashop.

L'ho testata ed ho risolto i problemi di cui vi raccontavo nel post precedente...

Mi sembra ovvio che il problema in molti casi non è manco inputabile al server dove alloggiate... può capitare... ma potrebbe anche essere dovuto che il tool Swift di prestashop è particolarmente bacato.

Tempo fa avevo provato a sostuire una versione di swift funzionante ma era davvero complicato e avevo poco tempo per risolvere il problema e quindi mi sono inventato questa soluzione.

Spero che vi risolva molti problemi, anche perchè, un negozio online senza mail non serve a niente.

Quindi sulla 1.3.7 seguite i passi del post precedente e mettete questo file Mail.php a posto dell'altro che va bene per la 1.2.5.

In questa versione ho commentato con //Modificato le parti che ho toccato... per chi fosse interessato

Mail.php

Link to comment
Share on other sites

Ciao e grazie per i suggerimenti.
Facendo le tue modifiche finalmente la 1.3.7 funziona ed invia le mail, ora dovrò solo sistemare i messaggi ma è il problema minore. (sballa qualcosa sui caratteri accentati)
Già che c'ero l'ho provata anche sulla 1.4 (che ha lo stesso problema delle mail) ma però in questo caso si vede che manca qualche cosa in quanto mi da questo errore :

Fatal error: Uncaught exception 'ReflectionException' with message 'Class MailCore does not exist' in /home/ilnegoziodigio.eu/public_html/bottega_test/config/autoload.php:41 Stack trace: #0 /home/ilnegoziodigio.eu/public_html/bottega_test/config/autoload.php(41): ReflectionClass->__construct('MailCore') #1 /home/ilnegoziodigio.eu/public_html/bottega_test/classes/OrderHistory.php(183): __autoload('Mail') #2 /home/ilnegoziodigio.eu/public_html/bottega_test/ufficio/tabs/AdminOrders.php(135): OrderHistoryCore->addWithemail(true, Array) #3 /home/ilnegoziodigio.eu/public_html/bottega_test/ufficio/index.php(106): AdminOrders->postProcess() #4 {main} thrown in /home/ilnegoziodigio.eu/public_html/bottega_test/config/autoload.php on line 41

e questo avviene modificando la situazione dell'ordine del cliente.
Ovviamente per ora il problema non si pone, ma è chiaro che aggiornando alla 1.4 poi uno sarebbe nuovamente a piedi, quindi se sapessi darmi qualche dritta anche a tal proposito saresti gentilissimo.
Ciao e grazie ancora per la preziosa collaborazione, spero di potermi sdebitare !
Fabio
Link to comment
Share on other sites

Con molto piacere...

ecco la versione Mail.php per la versione 1.4.0

inoltre ho colto il tuo problema sulle parole accentate... penso di averlo risolto: ho fatto poche prove ma hanno dato esito positivo.
Quindi per non aver problemi con le lettere accentate è stato sufficiente aprire il file class.phpmailer-lite.php sotto tools/swift e modificare la riga 59:

public $CharSet = 'iso-8859-1';
in
public $CharSet = 'utf-8';

è tutto si è messo a posto...

ATTENZIONE!!! ho rimosso il file perchè mi sono accorto che il modulo di Mail Alerts con la versione che avevo rilasciato non funziona correttamente nella 1.4.0. Ma la cosa strana è che funziona con la versione originale...

Link to comment
Share on other sites

Ok!!! Dovremmo esserci!!!

Altro giro altra martellata!!! Prestashop mi piace... ma questo problema mi incomincia ad annoiare...

Post precedente valido... ma visto che un modulo funziona nel modo vecchio e l'altro con quello nuovo... ho deciso di usare all'occorenza entrambi... giusto per non farmi mancare niente...

quindi vi giro il solito file Mail.php da mettere sotto classes
e poi l'aggiornamento del file del modulo mailalerts da andare a sostituire.

Perchè il tutto funzioni ho dovuto anche (per mettere a posto la modalità vecchia) seguire i passi di questo link:
http://www.presto-changeo.com/en/content/9-fix-email-problems
indispensabile!!! ma non sufficiente!!

Insomma dopo qualche martellata a destra e a sinistra... il tutto sembra funzionare... come sempre: FATE I TEST PRIMA!

PS: seguite tutti i post precedenti... per ottenere il risultato finale

mailalerts.php

Mail.php

Link to comment
Share on other sites

Beh crambzoo che dirti ? innanzi tutto GRAZIE per lo sbattimento che hai avuto, e poi condivido con te il fatto che questo problema delle mail è noioso e soprattutto strano.
Io ho provato ad installare prestashop su provider differenti, e su alcuni andava mentre su altri no, anmche se all'apparenza i settaggi erano simili.
La cosa più incredibile è che con le indicazioni contenute nel link che tu hai citato, e che riporto qui per facilitare le cose a chi ne avesse bisogno in futuro, è che così facendo la mail di prova arriva ma le altre no !! BOH ???

Nel file /tools/swift/Swift/Message.php line #79
cambiare il testo
  $this->setFrom("");


con

   $this->setFrom("[email protected]");


dove andrete ovviamente a sostituire [email protected] con la vostra email che deve esistere e deve essere di proprietà del dominio stesso (ovvero su un dominio pippo.com non potete avere una email del tipo [email protected] per capirsi)

Nel file /tools/swift/Swift.php dopo la linea 370

  if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);


Aggiungere il codice seguente :

  if (!$has_reply_to[0]) $message->setReplyTo($from->getAddress());



Nel file /tools/swift/Swift/Plugin/MailSend.php alla linea #159 che è vuota aggiungere

  $params = "";



poi con il file Mail.php gentilmente messo a disposizione da te la versione 1.3.7 ha iniziato a funzionare senza problemi, salvo che le mail che finalmente arrivavano al cliente ora però non arrivano al negoziante :-) e per risolvere questo problema non ho fatto altro che aggiungere un BCC all'invio della mail all'interno del file mail.php e così tutte le comunicazioni che arrivano al cliente in pratica arrivano in copia nascosta anche al negoziante.
Anche questa è una martellata bella e buona ma funziona !!

ora appena avrò un momento farò le prove con la 1.4 e sperando che siano risolti altri bachi (tra cui paypal che non ne vuole sapere di dare conferma al pagamento) aggiornerò il sito e via !!

grazie ancora per l'aiuto prezioso, a buon rendere, ciao !!
Fabio
Link to comment
Share on other sites

mi sono accorto di una cosa lavorando con la 1.4 che funziona anche sulla 1.3.7:

Le modifiche che calfasoft ha riportato nel post precedente vi permetteranno di risolvere il problema di notifica per i commercianti una volta attivato il modulo MailAlerts.

Quindi la situazione ad oggi è la seguente:

- una parte di invio mail funziona con la modifica che vi ho proposto. (quelle verso il cliente)
- una parte di invio mail funziona con le modifiche riportate nel post precedente. (quelle verso il venditore)

Che dire... sto avendo esperienze con altri mondi: Drupal, Wordpress, Joomla ma Prestashop rimane l'unico ad avere di questi problemi legati alla mail.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...