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)