maisondunet/module-email-attachment

Add invoice / shipment / creditmemo and custom attachments files to magento sales emails

v1.0.5 2023-02-22 09:36 UTC

This package is auto-updated.

Last update: 2024-05-22 12:15:21 UTC


README

This module Open-source module allow the administrator to attach Invoice, Shipment, Credit Memo and Custom PDF Files to sales email notification. It has been design to be as simple, expendable and as unobtrusive as possible.

It doesn't contain any bloatware just the bare minimum.

Compatibility

The module has been tested with Magento 2.4.5, it should work with any 2.4.* magento installation.

Installation

To install the Magento 2 GTM Cookie consent, simply run the command below:

composer require maisondunet/module-email-attachment

To enable the module:

bin/magento module:enable Maisondunet_EmailAttachment

Module configuration

Module configuration is located at :

Stores > Configuration > Sales > Sales Emails

Invoice Options

Field Description
Attach PDF Invoice Attach a PDF invoice to invoice notification e-mails

Shipment Options

Field Description
Attach PDF Invoice Attach a PDF Shipment to shipment notification e-mails

Credit Memo Options

Field Description
Attach PDF Credit Memo Attach a PDF Credit Memo to credit_memo notification e-mails

Email Attachments Options

This functionality allow the administrator to attach custom Files to sales-emails.

Name Templates File
Attachment Name The file will be attached to selected template email The file attached

Extensibility

Create a class to handle you custom attachment

class CreditMemo implements AttachmentResolverInterface
{
    // --------
    
    /**
    * @param Template $template
    * @return MimePartInterface[]
     */
    public function getAttachments(Template $template): array{
        // Build your custom attachment there
    }
}

And register to service inside a di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Maisondunet\EmailAttachment\Model\AttachmentResolverPool">
        <arguments>
            <argument name="attachmentResolvers" xsi:type="array">
                <item name="credit_memo" xsi:type="object">Maisondunet\EmailAttachment\Model\AttachmentResolver\SystemConfiguration</item>
            </argument>
        </arguments>
    </type>
</config>