Magento: Anexar Arquivo em E-mails Transacionais

Neste post descrevo o método que eu utilizei, no modulo contact form attachment,  para anexar um arquivo no e-mail enviado ao administrador da loja a partir da pagina de fale conosco (frontend).

O código se encontra em

app/code/community/
RMO/ContactFormAttachment/
controllers/IndexController.php.

Primeiro instanciamos um email template:

$mailTemplate = Mage::getModel('core/email_template');

Anexamos o arquivo ao objeto $mailTemplate, passando o caminho do arquivo no servidor:

$file = $mailTemplate->getMail()->createAttachment(file_get_contents("path/to/file"));

Definimos qual o nome do arquivo anexado:

$file->filename = "nome do arquivo";

Após isso, é só enviar o e-mail da forma padrão no magento.

Por exemplo, no caso do controller da pagina de fale conosco:

$mailTemplate->setDesignConfig(array('area' => 'frontend'))
->setReplyTo($post['email'])
->sendTransactional(
Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
null,
array('data' => $postObject));

Você pode fazer o download do modulo contact form attachment aqui.

Eu fiz o upload do modulo para o magento connect e estou aguardando ele ser liberado.

[toggle title=”Fonte”]
http://renatomarcelino.com
[/toggle]

2014-07-15T19:29:02+00:00