Nette Foundation for Emails
ZURB Foundation for Emails integration into
Nette framework consisting of a mail factory to create email messages
with nette/latte templates using Inky markup
and an optional simple mail service to send the messages., (*1)
, (*2)
Requirements
Installation
composer require vitrozsival/nette-foundation-emails
Configuration
Register mailFactory
extension in your config:, (*3)
extensions:
mailFactory: NetteFoundationEmails\DI\MailFactoryExtension
Then you can configure the extension with following parameters:, (*4)
mailFactory:
email: 'your@email.com' # default email to be set for messages as 'sent from'
name: 'Your Name' # default name to be set for messages as 'sent from'
cssFilename: 'emails.css' # default stylesheet filename located in resources directory
resourcesDir: ./resources # default resources directory path (stylesheets, images, etc.)
templatesDir: ./templates # default message templates directory path
Usage
The MailFactory
has only one method called create
to be used with your email messages. It accepts two arguments:, (*5)
messageTemplate
- an absolute path to your own message template
- or a path relative to the configured templates directory path (if using a relative path, you can omit
.latte
extension as it will be added if needed)
- if no template is found, the method throws
MailFactoryException
cssFile
(optional)
- an absolute path to your own build of Foundation for Emails stylesheet
- or a path relative to the configured resources directory path
- if none provided, the factory will look for the configured
cssFilename
inside the configured resourcesDir
- if no stylesheet is found at all, default
resources/foundation-emails.min.css
will be used
The mail factory will use any valid Nette ITranslator
from your DI container to translate your messages., (*6)
Mail service
You can also use the simple MailService
that ships with this package to send messages created
with the MailFactory
. The service gets registered with the MailFactoryExtension
therefor it is present in your DI
container., (*7)
The service has three methods - to createMessage
through the MailFactory
(this method accepts same arguments
as create
method of MailFactory
and only returns the resulting message), to create a link
to your website
using Nette LinkGenerator
and to send the created Message
. The sendMessage
method throws MailServiceException
if the message could not be sent through Nette IMailer
., (*8)
Anyway, feel free to implement the MailFactory
into your own mail service as you need., (*9)
License
MIT License, (*10)