• Super User

    Problema mail Article MS

    Ciao a tutti 🙂

    Ho un problema con ArticleMS. In pratica, quando un utente invia un articolo, non viene inviata la mail all'admin sell'articolo pendente per la revisione. Avete suggerimenti su come risolvere? 😄


  • Super User

    Sinteticamente, non viene inviata la notifica dell'articolo pendente all'admin.


  • Bannato User

    D quanto tempo hai questo problema?
    Hai fatto qualche aggiornamento?
    Hai installato qualcosa?


  • Super User

    Il problema ce l'ho da sempre. Non ho mai fatto un aggiornamento (ho l'ultima release installata).Non ho niente di aggiuntivo installato.

    Il problema mi si presenta senza che io abbia toccato niente. Inoltre, le mail di notifica che dovrebbero arrivare agli utenti quando un articolo viene accettato/rifiutato/bannato, arrivano a me e, credo, anche a chi ha scritto l'articolo (ma non ne sono certo).

    Forse il problema dipende dal fatto che ArticleMS si trova in una sottocartella. :bho:


  • Super User

    Escludo una cattiva installazione visto che mi da lo stesso problema su 2 siti realizzati con ArticleMS (si, è un CMS 🙂 ). ArticleMS è stato installato più volte proprio per il sospetto di un'installazione mal riuscita.


  • Bannato User

    Allora non rimane che l'idea di bug nel CMS!
    L'unica cosa è scaricarti l'ultima versione oppure cambiare CMS, considerando il fatto che non è uno dei migliori.


  • Super User

    Purtroppo i bugs ci sono come per tutti i CMS.
    Per la questione che non sia il miglior CMS per i siti di article marketing e comunicati stampa non sono d'accordo ma accetto comunque il fatto che per te non è dei migliori. 🙂

    Grazie comunque per l'aiuto. :ciauz:


  • Moderatore

    Caro Cionfs,

    ti confermo il bug, purtroppo.

    Non è l'unico problemino di ArticleMS (hai provato a validare l'output html?).

    Però hai ragione, è un buon cms per fare certe cose.

    L'hai poi fixato il problema delle mail?

    Provando e riprovando direi che l'installazione non c'entra nulla.

    A me funziona l'invio e-mail generalizzate (quelle a tutti gli utenti etc etc), ma non le notifiche (articoli pendenti e avvisi di pubblicazione/modifica/approvazione).

    Facciamo che il primo che risolve posta qui la soluzione?

    🙂


  • Super User

    Ciao WWW. 🙂

    Il problema non l'ho risolto. Ogni giorno vado sui siti che ho e controllo se è stato segnalato qualcosa.

    Se trovo la soluzione da qualche parte (ed ho chiesto anche sul sito ufficiale di ArticleMS senza avere risposta) ti faccio sapere. 😉


  • Bannato User

    Magari posta la parte di codice che dovrebe eseguire la funzione, chissà riusaciamo a fixarlo


  • Moderatore

    🙂

    Per il mailer non ho ancora risposte.

    Questo dovrebbe essere il codice su cui indagare:

    [php]<?php
    if (!defined('ARTICLEMS')) {
    header('HTTP/1.0 403 Forbidden');
    die;
    }
    /**

    • Mailer Class

    **/
    class mailer{

    var $ams;
    var $from;
    var $reply_to;
    var $headers;
    var $subject;
    var $to;
    var $message;
    var $eol;
    
    function mailer(&$articlemsobject){
    
        if (strtoupper(substr(PHP_OS,0,3)=='WIN')) {
          $this->eol="\r\n";
        } elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) {
          $this->eol="\r";
        } else {
          $this->eol="\n";
        }
    
        $this->ams =&$articlemsobject;
        $this->pre = $this->ams->pre;
        $this->db_settings = &$articlemsobject->db_settings;
    
        $this->from = $this->ams->settings['email_reply_to'];
        $this->reply_to = $this->ams->settings['email_reply_to'];
    }
    
    function process_queue($num=10){
    
        if (isset($this->db_settings['demo']) and ($this->db_settings['demo'])){
            return;
        }
    
        $q = $this->ams->db->query("SELECT * FROM {$this->ams->pre}email_queue
                                WHERE queue_state = 0 ORDER BY queue_time_added ASC LIMIT $num");
    
        while ($row = $this->ams->db->nqfetch($q)){
    
            $this->to = $row['queue_to'];
            $this->headers = $row['queue_headers'];
            $this->subject = $row['queue_subject'];
            $this->message = $row['queue_text'];
    
            $updateq = $this->ams->db->query("UPDATE {$this->ams->pre}email_queue SET
                            queue_time_added = queue_time_added,
                            queue_time_sent = NOW(),
                            queue_state = -2 WHERE queue_id = {$row['queue_id']}");
    
            if (@mail($this->to, $this->subject, $this->message, $this->headers)){
                $result = 1;
            }
            else{
                $result = -1;
            }
    
            if ($this->ams->settings['email_debug']){
                @mail ($this->ams->settings['site_email'], $this->subject, $this->message, $this->headers);
            }
    
            $updateq = $this->ams->db->query("UPDATE {$this->ams->pre}email_queue SET
                            queue_time_added = queue_time_added,
                            queue_time_sent = NOW(),
                            queue_state = $result WHERE queue_id = {$row['queue_id']}");
        }
    }
    
    function send_mail($send_now=0, $newsletter_id=0){
    
        if (isset($this->db_settings['demo']) and ($this->db_settings['demo'])){
            return 1;
        }
    
        $newsletter_id = intval($newsletter_id);
        $headers = "From: {$this->from}".$this->eol;
        $headers .= "Reply-To: {$this->reply_to}".$this->eol;
    
        if ($send_now){
    
            if ($this->ams->settings['email_debug']){
                @mail ($this->ams->settings['site_email'], $this->subject, $this->message, $headers);
            }
            return @mail ($this->to, $this->subject, $this->message, $headers);
        }
        else{
            $q = $this->ams->db->query("INSERT INTO {$this->ams->pre}email_queue SET
                        queue_subject = '".addslashes($this->subject)."',
                        queue_to = '".addslashes($this->to)."',
                        queue_state = 0,
                        queue_newsletter_id = $newsletter_id,
                        queue_headers = '".addslashes($headers)."',
                        queue_text = '".addslashes($this->message)."',
                        queue_time_added = NOW()");
            return $q;
        }
    
    }
    

    }
    ?>[/php]

    ***Ti segnalo invece una importante discussione sui permessi di crawlering, che necessita della tua attenzione per permettere l'indicizzazione degli articoli.


    Va cambiato un valore nel file settings.php, altrimenti gli spider non ti indicizzano.

    Leggi questa: http://www.articletrader.com/forum/index.php?a=topic&t=4744

    Sempre per ricambiare i tuoi generosi suggerimenti, amico Cionfs, ti segnalo che fra i tanti 'buchi' uno dei più evidenti è nell'output del category tree che compare nella sidebar.

    In pratica se vedi il codice via browser noti che quell'elenco di link che corrisponde al menù delle varie categorie e sottocategorie è totalmente sfasato.

    Io l'ho fixato, se vuoi ti posto il codice da me scelto.

    Naturalmente ho anche dovuto mettere mano al css e ho adottato un layout diverso da quello originale (senza collapse e giochetti ;)).

    Ma almeno l'elenco di link è pulito, ora.

    (Ho notato che anche altri siti italiani che usano questo cms hanno modificato quest'aspetto, ognuno in modo diverso. 😉 C'è chi ha buttato del tutto quella parte di script e si è fatto il menù a manina e chi invece, come me, ha scelto d rinunciare all'effetto collapse. La mia soluzione è semi-automatica, diciamo. 🙂 L'effetto collapse di suo non è un problema, se non fosse per il fatto che una volta fixato l'html devi metterti a correggere il css di conseguenza, ed era molto 'lunga' come cosa.)

    In bocca al lupo!!

    💋


  • Super User

    Ciao WWW. 🙂

    Aggiornamento: ho effettuato l'upgrade di un sito che uso per l'article marketing e sembra fungere l'invio dell'email.

    Facendo l'upgrade, purtroppo, ho perso tutta la traduzione che avevo fatto (-_-") però sembra andare molto meglio rispetto alla versione precedente.

    L'upgrade fatto è stato da AMS 1.3 a AMS 2.0 RC. 😉