Estás leyendo la publicación: Cómo adjuntar mediante programación un archivo PDF en el correo electrónico de Magento 2
espacio de nombres Proveedor\Extensión\Ayudante;
use Magento\Cliente\Modelo\Sesión;
Los datos de clase se extienden \Magento\Framework\App\Helper\AbstractHelper
{
const XML_PATH_EMAIL_DEMO = ’emaildemo/email/email_demo_template’;
protegido $_inlineTranslation;
protegido $_transportBuilder;
protegido $_template;
protegido $_storeManager;
función pública __construir(
\Magento\Framework\App\Helper\Contexto $contexto,
\Magento\Framework\Translate\Inline\StateInterface $inlineTranslation,
\Proveedor\Extensión\Modelo\Correo\TransportBuilder $transportBuilder,
\Magento\Tienda\Modelo\StoreManagerInterface $storeManager
)
{
$this->_objectManager = $objectManager;
padre::__construcción($contexto);
$this->_inlineTranslation = $inlineTranslation;
$this->_transportBuilder = $transportBuilder;
$this->_storeManager = $storeManager;
}
función pública generar Plantilla ()
{
$pdfFile = ‘pdf_file_path/email.pdf’;
$emailTemplateVariables[‘message’] = ‘Este es un mensaje de prueba de meetanshi.’;
// carga tu plantilla de correo electrónico
$this->_template = $this->scopeConfig->getValue(
yo::XML_PATH_EMAIL_DEMO,
\Magento\Store\Model\ScopeInterface::SCOPE_STORE,
$this->_storeManager->getStore()->getStoreId()
);
$this->_inlineTranslation->suspend();
$this->_transportBuilder->setTemplateIdentifier($this->_template)
->establecerOpcionesPlantilla(
[
‘area’ => \Magento\Framework\App\Area::AREA_FRONTEND,
‘store’ => $this->_storeManager->getStore()->getId(),
]
)
->establecerTemplateVars($emailTemplateVariables)
->establecerDesde([
‘name’ => ‘Meetanshi’,
])
->addAttachment(file_get_contents($pdfFile)); //El archivo adjunto va aquí.
intentar {
$transporte = $this->_transportBuilder->getTransport();
$transporte->enviarMensaje();
$this->_inlineTranslation->resume();
} atrapar (\Excepción $e) {
echo $e->getMessage(); morir;
}
}