Magento 1.9.1 - Email inviate dalla nuova coda di posta elettronica?


9

Secondo le note di rilascio di Magento 1.9.1 :

tutte le e-mail Magento (comprese la conferma dell'ordine e quelle transazionali) sono ora in coda

Tuttavia, non riesco a vedere come vengono inviate le e-mail tranne il nuovo ordine e le e-mail di aggiornamento dell'ordine.

In questa risposta puoi vedere gli unici due posti che sembrano usare la coda.

Mi sto perdendo qualcosa di ovvio in cui sarebbe stata istanziata la coda per le e-mail come il modulo di contatto POST Mage_Contacts_IndexController?

Non riesco a vedere nulla, il che mi fa pensare che le note di rilascio siano sbagliate, qualcuno per favore mi mostri l'errore dei miei modi?

Risposte:


2

L'ho testato su un'installazione pulita di Magento 1.9.0.1 senza configurazione cron job e mi ha inviato un'email di contatto. Quindi non si tratta di email di contatto in coda. E se guardi il codice vedrai lo stesso:

Mage_Contacts_IndexController-> public function postAction()-> sendTransactionalche chiama:

Mage_Core_Model_Email_Template-> public function sendTransactional-> public function send-> $mail->send();.

A un livello più profondo chiama Zend_Mail-> public function send-> $transport->send($this);-> Zend_Mail_Transport_Abstract-> public function send-> $this->_sendMail();-> Zend_Mail_Transport_Sendmail-> public function _sendMail()che infine chiama direttamente la mail()funzione PHP :

    $result = mail(
        $this->recipients,
        $this->_mail->getSubject(),
        $this->body,
        $this->header);

In Magento 1.9.1.0 è stato aggiunto

if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
...
$emailQueue->addMessageToQueue();

in Mage_Core_Model_Email_Template-> public function sendche dovrebbe essere impostato in public function sendTransactional:

        if (is_numeric($templateId)) {
            $queue = $this->getQueue();
            $this->load($templateId);
            $this->setQueue($queue);
        }

ma $templateIddovrebbe essere uguale contacts_email_email_template(di default) quindi non è numerico. Ma se viene scelto un modello di e-mail personalizzato sarà numerico, quindi forse l'e-mail verrà messa in coda ma non l'ho provato.


Penso che OP abbia menzionato la versione 1.9.1.
Joshua34,

Mi dispiace ma non ho l'installazione 1.9.1 (e non ho tempo per installarlo) e ho pensato che non ci fosse molta differenza (ma chiaramente mi sbagliavo). Ho modificato la mia risposta ma non l'ho testata, quindi un moderatore può eliminare la mia risposta se non è utile.
michael

Penso che il test is_numeric sia solo per gestire il ripristino della coda sull'oggetto modello dopo aver caricato un modello personalizzato. Richiede ancora che la coda sia già stata impostata e non vedo da nessuna parte ciò che sta accadendo tranne nelle funzioni di invio e-mail dell'ordine.
Ashley Schroder,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.