source - Correos electrónicos de confirmación de pedidos de Magento 1.9.1.0: no enviados
magento tutorial (10)
Solo haga un pequeño cambio en order.php ( public_html/app/code/core/Mage/Sales/Model/Order.php
)
De
$mailer->setQueue($emailQueue)->send();
A
$mailer->send();
Recientemente me actualicé a Magento CE 1.9.1.0 y nuestros correos electrónicos de confirmación de pedido no se envían a los clientes ni a los empleados que están configurados para recibir notificaciones.
Revisé los registros de correo electrónico y no veo los correos electrónicos que llegan al servidor.
Los correos electrónicos provienen del Formulario de contacto, Registro de cuenta de usuario nuevo y algunos scripts de prueba que creé en el servidor. Me aseguré de que Disable Email Communications estuviera configurado en "No".
¿Algunas ideas? Trabajaron muy bien en 1.7.0.2 antes de actualizar.
Tuve exactamente el mismo problema. Para mí, era una copia local del order.php al que había hecho algunos cambios en el pasado y que había copiado a / app / code / local / Mage / Sales / Model / Order.php.
Por lo tanto, el order.php actualizado de Magento 1.9.1.0 en el directorio central no estaba en uso, lo que hace que los correos electrónicos de confirmación de pedidos no se envíen automáticamente a través del trabajo cron.
Mantengo los dedos cruzados porque sufres el mismo problema.
Simplemente agregue cron en panel cpanel o plesk. Estará disponible en cpanel -> Avanzado y haga clic en la carpeta cron. Luego proceda:
-
*/5
en el campo ''minuto'' (puede personalizar esto) -
*
en el campo ''hora'' -
*
en el campo ''día'' -
*
en el campo ''mes'' -
*
en el campo ''día de la semana''
comentario: http://www.yoursite.com/absolute/path/to/magento/cron.php
Hay muchas respuestas, pero ninguna funcionó para mí. Cómo lo solucioné es eso, compruebe que si su configuración de plantilla predeterminada está allí en el magento o no. A veces durante la instalación se pierde y en realidad "no hay una plantilla de correo electrónico por defecto en el sistema para enviar su correo electrónico". System->Transactional Email->
a Administración, System->Transactional Email->
de forma predeterminada, no encontrarás ninguna plantilla aquí. Así que agregue uno haciendo clic en el botón '' Add new Email template
. En el panel Load default template
, seleccione una plantilla del menú desplegable Plantilla, suponga que olvidó Contraseña y haga clic en y haga clic en Load Template
. Como se dijo anteriormente, no se asocia ninguna plantilla de correo electrónico, por lo que no se mostrará a continuación. Lo más importante es ir a instalar una copia nueva de magento en su sistema local, navegue aquí y coloque el mismo contenido aquí y haga clic en el botón Guardar plantilla. A continuación, vaya a System->Configuration->Customer Configuration ->Password Options->Change
el menú desplegable ''Olvidó la plantilla de correo electrónico'' al suyo como se agregó anteriormente. Feliz. por lo tanto, también puede realizar pedidos, envíos, nuevas cuentas, etc.
La solución rápida es:
Vaya a la siguiente ubicación: /app/code/core/Mage/Core/Model/Email/Template.php
Cambiar línea 407
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
A:
if (!($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue)) {
Funcionará.
Gracias Pankaj
Sobreescribe el archivo ''app / code / core / Mage / Sales / Model / Order.php''. Si no quieres ningún cambio en el archivo xml entonces simplemente copia / app / code / core / Mage / Sales / Model / Order. php en /app/code/local/Mage/Sales/Model/Order.php y asegúrese de actualizar la caché. y cambio
$mailer->setQueue($emailQueue)->send();
A
$mailer->send();
La solución es simple que encontré.
go to System -> Configuration -> ASCHRODER EXTENSIONS -> SMTP -> Queue Configuration -> Queue Usage -> Never
¡Hecho!
La confirmación del pedido se enviará rápidamente. :)
Ir a /app/code/core/Mage/Core/Model/Email/Template.php
Debajo de los cambios:
if ($this->hasQueue() && $this->getQueue() instanceof Mage_Core_Model_Email_Queue) {
A
if (false){
A partir de Magento 1.9, los correos electrónicos de confirmación de pedido ya no se envían durante el pago , sino que se envían con Cron . Para verificar que esto funcione correctamente:
asegúrese de que su sistema Cron esté en funcionamiento (puede verificar los registros
/var/log/cron
:/var/log/cron
para verificar eso).asegúrese de que Magento Cron esté configurado correctamente y se ejecute cada algunos minutos. Debería ver algo como esto en el Crontab de su sistema:
*/5 * * * * /public_html/cron.sh
Esto programa una tarea para ejecutar
cron.sh
cada cinco minutos. ( Más lectura )
Hay buenas extensiones como el Programador AOE en Magento que lo ayuda a monitorear y administrar los trabajos de Cron.
Una forma alternativa de esto es deshabilitar el Cron para este tipo de correos electrónicos ( confirmación de pedido ). Para hacer esto puedes ir a este camino:
public_html/app/code/core/Mage/Sales/Model/Order.php
Copie ese archivo y llévelo a esta ruta (si la ruta no existe, créelo):
public_html/app/code/local/Mage/Sales/Model/Order.php
Y luego cambia esta línea:
$mailer->setQueue($emailQueue)->send();
A:
$mailer->send();
Sin embargo, recomiendo pasar algo de tiempo para configurar el Cron en su lugar. Creo que si quisieran usar Cron para estos correos electrónicos es por una razón.
Para solucionar problemas de correo de la orden magento con respecto a la nueva orden, simplemente ejecute yoursite.com/cron.php. Si recibe algún correo ahora, entonces es su problema cron. Puede solucionar el problema de contorsión configurando cron en cpanel.