Magento – No hay confirmación de correos electrónicos a direcciones de correo electrónico definidas o. extensiones de dominio

Para un proyecto B2E, necesitamos una manera para una tienda de Magento 1.9.x para definir, que el correo a un dominio particular (por ejemplo. @ keinemails.com) no debe ser enviado.

Como nos SMTP-Pro-Extensión tienen de ASchroder en uso, Se le permite adaptarse cerca de este, para obtener el resultado deseado.

En el primer paso que damos la aplicación / código / / Aschroder / SMTPPro / modelo / Email / template.php locales

A continuación añadimos antes

/**
* Enviar correo a destinatario

y detrás

Aschroder_SMTPPro_Model_Email_Template clase extiende Mage_Core_Model_Email_Template
{

folgenden Code ein

	protected $ _avoidedDomains = array('Keinemails.com', 'Auchkeinemails.com');

	protegida isPreventForDomain función($e-mail, $dominios) {
	    foreach ($dominios como $ dominio) {
	        $Pos = strpos($e-mail, $dominio, strlen($e-mail) - strlen($dominio));

	        si ($pos === falsa)
	            continuar;

	        si ($pos == 0 || $e-mail[(int) $POS - 1] == "@" || $e-mail[(int) $POS - 1] == ".")
	            return true;
	    }

	    return false;
	}

más atrás

función pública envío($e-mail, $nombrar = null, las variables array $ = array())
{

y antes

$_helper = Mago::ayudante('Smtppro');

este código

        $correos electrónicos = array_values((formación)$e-mail);
        $= sentEmails matriz();

por último,

$_helper = Mago::ayudante('Smtppro');

sin embargo, este código

        foreach($mensajes de correo electrónico como $ emailValue){
        	si($esta->isPreventForDomain($valor de correo electrónico, $esta->_avoidedDomains)){
	        	Mago::log(sprintf("No enviamos correo electrónico a% s", $valor de correo electrónico), falso, 'Not_sent_email.log', verdadero);
	        	continuar;
	        }
	        $sentEmails[] = $ Valor de correo electrónico;
        }
        si(contar($sentEmails) == 0) return false;

        $correos electrónicos = $ sentEmails;

Tan, que todos juntos tenemos la siguiente

Aschroder_SMTPPro_Model_Email_Template clase extiende Mage_Core_Model_Email_Template
{

	protected $ _avoidedDomains = array('Keinemails.com', 'Auchkeinemails.com');

	protegida isPreventForDomain función($e-mail, $dominios) {
	    foreach ($dominios como $ dominio) {
	        $Pos = strpos($e-mail, $dominio, strlen($e-mail) - strlen($dominio));

	        si ($pos === falsa)
	            continuar;

	        si ($pos == 0 || $e-mail[(int) $POS - 1] == "@" || $e-mail[(int) $POS - 1] == ".")
	            return true;
	    }

	    return false;
	}

    /**
     * Enviar correo a destinatario
     *
     * array @param|$ cadena de correo electrónico E-mail(s)
     * array @param|cadena|$ Nula nombre nombre del receptor(s)
     * variables de plantilla variables de array $ @param
     * booleano @return
     **/
    función pública envío($e-mail, $nombrar = null, las variables array $ = array())
    {
        $correos electrónicos = array_values((formación)$e-mail);
        $= sentEmails matriz();
        $_helper = Mago::ayudante('Smtppro');
        foreach($mensajes de correo electrónico como $ emailValue){
        	si($esta->isPreventForDomain($valor de correo electrónico, $esta->_avoidedDomains)){
	        	Mago::log(sprintf("No enviamos correo electrónico a% s", $valor de correo electrónico), falso, 'Not_sent_email.log', verdadero);
	        	continuar;
	        }
	        $sentEmails[] = $ Valor de correo electrónico;
        }
        si(contar($sentEmails) == 0) return false;

        $correos electrónicos = $ sentEmails;
        
        // Si no está habilitado, simplemente devolver el resultado de los padres.
        si (!$_ayudante->está habilitado()) {
            $_ayudante->log('SMTP Pro no está habilitado, caer de nuevo a la clase padre);
            volver padres::enviar($e-mail, $nombre, $las variables);
        }


        // Según la clase padre - Salvo Además de antes y después de los eventos de envío

En nuestro caso, hemos definido dos dominios. Esto puede, por supuesto, sólo sea una.

Creamos esta manera un archivo de registro (/var / log / not_sent_email.log) – Aquí se puede ver qué direcciones de correo electrónico fueron rechazados cuando.

Se utiliza en la versión de Magento 1.9 Comentarios? Adiciones? Notas? Con alegría!

Publicado por Covos

DESDE 2009 He estado trabajando intensamente con Magento. Empecé con la creación y el funcionamiento de las tiendas B2C. Esto se extendió a través de mi trabajo en el sector de la logística. Esto dio lugar a sistemas especializados primera B2E. Hoy trabajo del día a día con una emocionante B2C, B2B- y proyectos B2E e informes en este blog sobre los desafíos y dan consejos de expertos.

Deja un comentario

Su dirección de correo electrónico no será publicado. Los campos obligatorios están marcados *