Magento – Aucun courriel de confirmation à des adresses de messagerie définies ou. extensions de domaine

Pour un projet B2E, nous avions besoin d'un moyen pour un 1.9.x boutique Magento pour définir, que le courrier à un domaine particulier (EX.. @ keinemails.com) ne doit pas être envoyé.

Puisque nous SMTP-Pro-Extension ont des ASchroder en cours d'utilisation, était-il d'adapter cette proximité, pour obtenir le résultat souhaité.

Dans la première étape, nous prenons l'application / code / local / Aschroder / SMTPPro / Modèle / Courriel / template.php

Ici, nous ajoutons avant

/**
* Envoyez un mail au destinataire

et derrière

étend la classe Aschroder_SMTPPro_Model_Email_Template Mage_Core_Model_Email_Template
{

folgenden Code ein

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

	fonction protégée isPreventForDomain($e-mail, $domaines) {
	    foreach ($domaines comme domaine $) {
	        $pos = strpos($e-mail, $domaine, strlen($e-mail) - strlen($domaine));

	        si ($pos === faux)
	            continuer;

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

	    return false;
	}

plus loin derrière

envoyer la fonction publique($e-mail, $name = null, tableau variables $ = array())
{

et avant

$_helper = Mage::assistant('Smtppro');

ce code

        $emails = array_values((gamme)$e-mail);
        $= Array sentEmails();

enfin par

$_helper = Mage::assistant('Smtppro');

encore ce code

        foreach($e-mails que $ emailValue){
        	si($ce->isPreventForDomain($valeur e-mail, $ce->_avoidedDomains)){
	        	Mage::enregistrer(sprintf("Nous n'envoyons pas de courrier électronique à% s", $valeur e-mail), faux, 'Not_sent_email.log', vrai);
	        	continuer;
	        }
	        $sentEmails[] = $ Valeur Email;
        }
        si(compter($sentEmails) == 0) return false;

        $emails = $ sentEmails;

Si, que nous tous ensemble avons les éléments suivants

étend la classe Aschroder_SMTPPro_Model_Email_Template Mage_Core_Model_Email_Template
{

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

	fonction protégée isPreventForDomain($e-mail, $domaines) {
	    foreach ($domaines comme domaine $) {
	        $pos = strpos($e-mail, $domaine, strlen($e-mail) - strlen($domaine));

	        si ($pos === faux)
	            continuer;

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

	    return false;
	}

    /**
     * Envoyez un mail au destinataire
     *
     * @param array|$ string email E-mail(s)
     * @param array|chaîne|null Nom du récepteur $ name(s)
     * tableau @param variables du modèle de variables $
     * booléen @return
     **/
    envoyer la fonction publique($e-mail, $name = null, tableau variables $ = array())
    {
        $emails = array_values((gamme)$e-mail);
        $= Array sentEmails();
        $_helper = Mage::assistant('Smtppro');
        foreach($e-mails que $ emailValue){
        	si($ce->isPreventForDomain($valeur e-mail, $ce->_avoidedDomains)){
	        	Mage::enregistrer(sprintf("Nous n'envoyons pas de courrier électronique à% s", $valeur e-mail), faux, 'Not_sent_email.log', vrai);
	        	continuer;
	        }
	        $sentEmails[] = $ Valeur Email;
        }
        si(compter($sentEmails) == 0) return false;

        $emails = $ sentEmails;
        
        // Si ce n'est pas activé, il suffit de retourner le résultat parent.
        si (!$_assistant->est autorisé()) {
            $_assistant->enregistrer(« SMTP Pro n'est pas activé, revenir à la classe parente);
            retourner parent::envoyer($e-mail, $nom, $des variables);
        }


        // Comme par classe parente - sauf ajout d'avant et après l'envoi d'événements

Dans notre cas, nous avons défini deux domaines. Cela ne peut évidemment être un.

Nous créons ainsi un fichier journal (/var / log / not_sent_email.log) – Ici vous pouvez voir les adresses électroniques ont été rejetées lorsque.

Utilisé dans la version Magento 1.9 Remarques? Ajouts? Remarques? Volontiers!

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

Laisser un commentaire

Votre adresse email ne sera pas publié. les champs requis sont indiqués *