Joomla.it Forum
Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : Ar 19 May 2014, 13:50:07
-
Salve a tutti, ho un problema con un sito con versione joomla 2.5.19, cercherò di spiegarmi al meglio possibile.
Il site è di una sala prove e viene utilizzato per effettuare le prenotazioni.
Il modulo utilizzato per le prenotazioni è pbbooking: l'utente seleziona il giorno la fascia oraria in cui prenotare nome cognome e email e il componente invia una mail all'utente dove c'è un link da cliccare per confermare la prenotazione.
Ha sempre funzionato tutto al meglio da quando il sito è online (circa due anni).
Settimana scorsa invece il componente ha smesso di punto in bianco di inviare la mail per la conferma quindi non è più possibile prenotare.
Ho provato allora a disinstallare il componente e installarne l'ultima versione ma il problema si presenta comunque. Non so quindi se è un problema del componente o qualcosa d'altro.
Saluti, Ar.
-
Aggiungo il codice che utilizza il componente per inviare la mail all'utente:
/**
* email_user - sends the validation email to the user with format defined in configuration.
* - New in 2.2 this method now supports all customfield tags based on |*varname*|
*
* @param array data the array of appt specific data
*/
static function email_user($data)
{
Pbdebug::log_msg('email_user() sending email to user for pending event id'.$data['pending_id'],'com_pbbooking');
$db = JFactory::getDbo();
$db->setQuery('select * from #__pbbooking_config');
$config = $db->loadObject();
$db->setQuery('select * from #__pbbooking_customfields where is_email = 1');
$emailfield = $db->loadObject();
$db->setQuery('select * from #__pbbooking_treatments where id = '.$db->escape($data['treatment_id']));
$service = $db->loadObject();
$db->setQuery('select cf.varname,cfd.data from #__pbbooking_customfields cf,#__pbbooking_customfields_data cfd where cf.id = cfd.customfield_id and cfd.pending_id = '.$db->escape($data['pending_id']));
$customfields = $db->loadObjectList();
$db->setQuery('select * from #__pbbooking_pending where id = '.$db->escape($data['pending_id']));
$pending_appt = $db->loadObject();
$db->setQuery('select * from #__pbbooking_cals where id = '.$db->escape($data['cal_id']))->loadObject();
$calendar = $db->loadObject();
$mailer =JFactory::getMailer();
$mailer_config =JFactory::getConfig();
$recipient = $data[$emailfield->varname];
$bcc = null;
if ($config->bcc_admin == 1) {
$bcc = array($mailer_config->get('mailfrom'));
if (isset($cal->email)) $bcc[] = $cal->email;
}
if (JURI::base(true) != '')
$url = str_replace(JURI::base(true).'/','',JURI::base()).JRoute::_('index.php?option=com_pbbooking&task=validate&id='.$data['pending_id'].'&email='.$data[$emailfield->varname]);
else
$url = preg_replace('/(.*)\/$/','$1',JURI::base()).JRoute::_('index.php?option=com_pbbooking&task=validate&id='.$data['pending_id'].'&email='.$data[$emailfield->varname]);
Pbdebug::log_msg('email_user() final url is '.$url,'com_pbbooking');
$urlstring = '<a href="'.$url.'">'.JTEXT::_('COM_PBBOOKING_VALIDATE_ANCHOR_TEXT')."</a>";
//send email to client to let them know what is going on
$body = self::_prepare_email('email_body',array('service_id'=>$data['treatment_id'],'dtstart'=>$pending_appt->dtstart,'url'=>$urlstring),(array)$customfields);
self::send_email($config->email_subject,$body,$recipient,$bcc);
}
-
Ciao
ha smesso di punto in bianco di inviare la mail per la conferma quindi non è più possibile prenotare.
l'assistenza hosting cosa ha risposto?
-
Ciao francesco , l'assistenza hosting cosa ha risposto?
Sinceramente non li ho ancora contattati sperando di riuscire a trovare qualche soluzione! Provvedo a sentire anche loro ora...
-
se il "di punto in bianco" fosse ero era la prima, sola e unica cosa da fare..
-
se il "di punto in bianco" fosse ero era la prima, sola e unica cosa da fare..
Dico di punto in bianco perché non ho effettuato modifiche al sito di recente ed il malfunzionamento mi è stato notificato dagli utenti ai quali non sono più arrivate le mail per confermare.
Inoltre essendo l'host altervista, ho appena scoperto che non si può più contattarli tramite mail ma aprendo un topic nel loro forum! Speriamo di risolverla...
-
Ho fatto una prova per discriminare se è un problema del componente o un problema di mail: ho creato un nuovo utente del sito e neanche l'email per la conferma dell'account è stata inviata. Direi quindi che non è un problema del componente ma un problema di invio mail da parte di joomla. Non so proprio cosa fare ora, ho guardato le impostazioni server mail da configurazione globale e sembrano ok:
funzione mail: php mail
percorso sendmail: /usr/bin/sendmail
auth SMTP: no
porta:25
HOST smtp: localhost