Page 1 of 1

mailserver smtp ssl. trovato codice funzionante ma come integrarlo in joomla?

Posted: Fri Sep 28, 2007 11:41 am
by sali40
Prima di tutto, ciao a tutti  :D
Il mio mail server non consente l'utilizzo del "semplice" smtp server come configurato in joomla.
Un amico mi ha passato XPertMailer.
Preparata questa pagina php per il richiamo della libreria XPert,

Code: Select all

<?php
global $mosConfig_absolute_path
require_once $mosConfig_absolute_path . ('/includes/XPertMailer.php');
require_once $mosConfig_absolute_path . ('/configuration.php');

$emailmethod=5;      // The following values can be used:
                     // 1 = SMTP_LOCAL - Localhost
                     // 2 = SMTP_CLIENT - MX host name(s)
                     // 3 = SMTP_LOCAL_CLIENT - 1'st SMTP_LOCAL, 2'nd if fail try SMTP_CLIENT
                     // 4 = SMTP_CLIENT_LOCAL - 1'st SMTP_CLIENT, 2'nd if fail try SMTP_LOCAL
                     // 5 = SMTP_RELAY - Relay MX host name(s) or ip address with optional authorisation
                     // 6 = SMTP_RELAY_CLIENT, - 1'st SMTP_RELAY, 2'nd if fail try SMTP_CLIENT
                     // 7 = SMTP_CLIENT_RELAY - 1'st SMTP_CLIENT, 2'nd if fail try SMTP_RELAY

function MailTextMessage($body, $subject, $to, $from, $sitename)
{
    global $emailmethod, $mosConfig_smtphost, $mosConfig_smtpuser, $mosConfig_smtppass;
    $mail = new XpertMailer($emailmethod,$mosConfig_smtphost);
    if (($emailmethod ==5 || $emailmethod ==6 || $emailmethod ==7) && $mosConfig_smtpuser!="" )
       { $mail->auth($mosConfig_smtpuser,$mosConfig_smtppass);
       }

    $fromname='';
    $fromemail=$from;
    if (strpos($from,'<'))
        {
             $fromemail=substr($from,strpos($from,'<')+1,strpos($from,'>')-1-strpos($from,'<'));
             $fromname=trim(substr($from,0, strpos($from,'<')-1));
        }
    $mail->from($fromemail, $fromname);
    $header['X-Mailer'] = $sitename;
    $mail->headers($header);
    $body = strip_tags($body);
    $body = str_replace(""", '"', $body);
    if (get_magic_quotes_gpc() != "0")    {$body = stripcslashes($body);}
    $subject = "=?UTF-8?B?" . base64_encode($subject) . "?=";
    Return  $mail->send($to, $subject, $body, false, 'utf-8');
}

//$to='xxxxx@xx.it';[/color]
MailTextMessage($body, $subject, $to, $mosConfig_mailfrom, $mosConfig_live_site );
?>
questa funziona. La mail passa. Nella riga in rosso, mettendo un indirizzo valido e sostituendo a $body e $subject delle stringhe e richiamando direttamente da browser la pagina, la mail viene ricevuta.

Ho provato a inserire questa pagina in mosmail (/includes/joomla.php).
Avendo, infatti, aggiunto alla array dell'admin la stringa

Code: Select all

// MAIL SETTINGS
   $mailer = array(
      mosHTML::makeOption( 'mail', 'PHP mail function' ),
      mosHTML::makeOption( 'sendmail', 'Sendmail' ),
      mosHTML::makeOption( 'smtp', 'SMTP Server' ),
      mosHTML::makeOption( 'mailer', 'XPertMailer' ),
   );
, posso scegliere XPert piuttosto che le altre funzioni.
Nella funzione mosmail, poi, ho aggiunto un

Code: Select all

if ($mosConfig_mailer == 'mailer');
seguito dal contenuto della pagina che ho postato sopra. Alla fine di questa condizione "if" c'è un "else" in cui è lasciato tutto quello che c'era già nella funzione mosmail.

Non funziona, ovviamente. Sarebbe stato troppo facile.
Qualcuno che mi dia una indicazione su come integrare?

Ho visto, comunque, che l'argomento è molto discusso e, quindi, allego anche la libreria XPertmailer.
Grazie  :-[

edit: Dimenticavo, in questo codice, fromname e fromemail sono uguali in quanto così pretende il mail server. L'email DEVE contenere in entrambi i campi il nome del titolare della casella

Re: mailserver smtp ssl. trovato codice funzionante ma come integrarlo in joomla?

Posted: Fri Sep 28, 2007 5:26 pm
by Gianmarco Odorizzi
Questo script a cosa serve? Vuoi vedere la posta via smtp?

Re: mailserver smtp ssl. trovato codice funzionante ma come integrarlo in joomla

Posted: Fri Sep 28, 2007 5:51 pm
by sali40
no. passa le variabili a XPertMailer affinchè questo invii la posta. XPert è compatibile con i mailserver ssl e consente che la posta in uscita ... esca, per l'appunto.

La configurazione stmp di joomla, infatti, non è sufficiente per molti server (anche gmail, yahoo e libero, mi pare abbiano problemi ad accettare l'smtp di joomla).

Questo script, invece, lasciato in pagina autonoma così come è (poniamo "mail.php") lancia XPertMailer e funziona. Come ho accennato (in modo non felicissimo, mi rendo conto) se assegno un indirizzo email valido alla variabile $to (come fatto nella riga arancione commentata, alla fine dello script) e sostituisco le variabili $body e $subject con delle stringhe, chiamando direttamente la pagina mail.php da browser l'email esce e perviene all'indirizzo assegnato alla variabile $to.

Lo script, quindi, riesce a prendere le variabili utente, password, smtp server impostate nella configurazione globale, le passa a XPertMailer che effettua la connessione al mail server smpt ssl "celebrando" anche tutti i "riti" richiesti (handshaking etc etc). Ciò fatto, crea l'email e la invia

Adesso il mio problema è che non riesco a integrare questo script con Joomla.

edit: Mettendo il livello di segnalazione degli errori al massimo e iscrivendo, ad esempio un nuovo utente, non mi viene restituito alcun errore, ma l'email non esce. In verità, l'email non arriva neppure al server (chiesto i log al server di posta e nessuna traccia dell'email).

Quindi devo aver commesso tanti di quegli errori nel tentativo di integrazione, che Joomla mi prende per cretino (giustamente) e non me li segnala neppure ???

Re: mailserver smtp ssl. trovato codice funzionante ma come integrarlo in joomla

Posted: Fri Nov 09, 2007 2:33 pm
by alikon
Non è molto chairo quello che dici

quali server su che Sistema opertivo hanno probelmi 'con SMTP

Simple Mail Transfer Protocol (SMTP) è il protocollo standard per la trasmissione via internet di e-mail.

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Tue Oct 14, 2008 11:28 am
by DeMemphis
Ciao a tutti... io penso di avere lo stesso problema, cioè quando vado a compilare i campi per la registrazione tutto ok mi registra e mi dice che mi verrà inviata un e-mail con il link di attivazione dell'account. però qui sorge il problema!!! non mi arriva nessuna e-mail!!! come mai? vi prego aiutatemi che ci sto lavorando!!! Cmq uso joomla, e come server WAMP!!!

GRAZIE

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Wed Oct 15, 2008 7:01 am
by alikon
Sei in locale ??

Come hai configurato i parametri Mail Settings ??

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Wed Oct 15, 2008 7:56 am
by DeMemphis
si sono in local... sto lavorando in localhost!!! le impostazione mail setting non le ho mai toccate da come le ho scaricate...Grazie

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Wed Oct 15, 2008 11:54 am
by alikon
ti dovrebbe dare un warning dicendoti che non è stato in grado di inviare la mail
confermi?

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Wed Oct 15, 2008 12:08 pm
by DeMemphis
no no... mi dice proprio che l'email l'ha inviata con il link di attivazione!!! il mio problema è che su 3 contatti ( su 3 registrazioni che ho fatto) nemmeno un e-mail di conferma !!!

grazie

Re: mailserver smtp ssl. trovato codice funzionante ma come inte

Posted: Wed Oct 15, 2008 12:19 pm
by DeMemphis
scusa la mia ignoranza... non sò se può dipendere!!! Io il sito web che sto creando non l'ho messo ancora on line...Non sò se ti può essere d'aiuto a capire il mio problema!!

Grazie