vitrozsival / nette-foundation-emails
ZURB Foundation for Emails with Inky markup integration into Nette framework.
Requires
- php: >=7.0
- hampe/inky: 1.3.6.2
- nette/application: ^2.4
- nette/di: ^2.4
- nette/mail: ^2.4
- nette/utils: ^2.4
- tijsverkoyen/css-to-inline-styles: ^2.2
Requires (Dev)
- mockery/mockery: ^0.9.9
- nette/tester: ^2.0
- tracy/tracy: ^2.4
This package is not auto-updated.
Last update: 2020-02-02 11:21:05 UTC
README
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.
Requirements
- PHP 7.0+
- Nette 2.4+
Installation
composer require vitrozsival/nette-foundation-emails
Configuration
Register mailFactory
extension in your config:
extensions:
mailFactory: NetteFoundationEmails\DI\MailFactoryExtension
Then you can configure the extension with following parameters:
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:
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 configuredresourcesDir
- 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.
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.
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
.
Anyway, feel free to implement the MailFactory
into your own mail service as you need.