Magento2- Enviar correos electrónicos transaccionales personalizados


8

Como se hizo en Magento 1.xx, ¿cómo se pueden enviar correos electrónicos transaccionales personalizados?

Adicional

  • Agregar correo electrónico en bcc

  • Enviar archivo adjunto a lo largo del correo electrónico


Sugeriría echar un vistazo a Contact Module.
MagePsycho

Sí, estudié eso y lo respondí a continuación, para compartir
huzefam

Respuestas:


8

okie un poco de depuración ayuda,

Enviar un correo electrónico transaccional en Magento2

class Dummy
{

   /**
     * @var  \Magento\Framework\Mail\Template\TransportBuilder
     */
    private $_transportBuilder;

  public function __construct( \Magento\Framework\Mail\Template\TransportBuilder $transportBuilder){

    $this->_transportBuilder = $transportBuilder;
  }

  public function sendEmail($templateId =1, $storeId =1,$templateParams)
  {

     $transport = $this->_transportBuilder->setTemplateIdentifier($templateId)
            ->setTemplateOptions(['area' => Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $storeId])
            ->setTemplateVars($templateParams)
            ->setFrom('someemail@email.com')
            ->addTo('toemail@email.com')
            ->setReplyTo('replyto@email.com')
            ->addBcc('bcc@email.com')
            ->getTransport();
        $transport->sendMessage();
  }

}

cómo agregar asunto en la plantilla de correo electrónico
MagikVishal

@MagikVishal Su respuesta está aquí magento.stackexchange.com/questions/124446/… <!--@subject Promopoup@-->
Ankit Shah

Ya no funciona en Magento 2.1.2
Fred Orosko Dias

@FredOroskoDias seguro ... verificará y agregará un bloqueo para 2.1.x también ... gracias
huzefam

¿Cómo agregamos múltiples BCC?
Dhaval Solanki el

0

Magento 2 utiliza la clase \ Magento \ Framework \ Mail \ Template \ TransportBuilder para enviar correos electrónicos personalizados.

Debe crear un módulo simple y configurar el archivo email_tempaltes.xml para definir sus plantillas de correo de transacciones.

Puede enviar correo desde el área Adminhtml o Frontend Scope.

He compartido un enlace para la guía paso a paso para enviar un correo personalizado desde Magento 2 usando un módulo.

Enviar correo personalizado desde el módulo Magento 2


0

me esta funcionando

$emailTemplateVariables = array();
$emailTempVariables['myvar'] = $myvar;

$senderName = 'test';
$senderEmail = 'sender@test.com';
$postObject = new \Magento\Framework\DataObject();
$postObject->setData($emailTempVariables);
$sender = [
        'name' => $senderName,
        'email' => $senderEmail,
        ];

$transport = $this->_transportBuilder->setTemplateIdentifier('myemail_email_template')
->setTemplateOptions(['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID])
->setTemplateVars(['data' => $postObject])
->setFrom($sender)
->addTo($email)
->setReplyTo($senderEmail)            
->getTransport();               
$transport->sendMessage();

más información

¿Cómo enviar un correo electrónico personalizado sin plantilla en magento2?

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.