sitegeist / neos-symfonymailer
A connector to use the symfony mailer component in Neos.Fusion.Form Actions and via PHP
Installs: 10 081
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 3
Forks: 0
Open Issues: 1
Type:neos-package
Requires
- php: >=8.1
- neos/fusion-form: ^2.0 || dev-master
- neos/neos: ~8.0 || ~9.0 || dev-master
- sitegeist/neos-symfonymailer-factories: ~1.0.0
Requires (Dev)
- phpstan/phpstan: ^1.8
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-10-29 15:38:00 UTC
README
Use the Symfony Mailer Component from Neos CMS, especially together with Neos.Fusion.Form but it can also be used directly via PHP.
Authors & Sponsors
- Martin Ficzel - ficzel@sitegeist.de
The development and the public releases of this package is generously sponsored by our employer http://www.sitegeist.de.
Installation
Sitegeist.Neos.SymfonyMailer is available via packagist composer require sitegeist/neos-symfonymailer
.
We use semantic-versioning, so every breaking change will increase the major version number.
Neos.Fusion.Form Action Sitegeist.Neos.SymfonyMailer:SendMailAction
The Sitegeist.Neos.SymfonyMailer:SendMailAction
allows to specify an email that will be sent after the runtime form
was successfully submitted.
Options:
senderAddress
: (string
|array
)senderName
: (string
)recipientAddress
: (string
|array
)recipientName
: (string
)replyToAddress
: (string
|array
)carbonCopyAddress
: (string
|array
)blindCarbonCopyAddress
: (string
|array
)subject
: (string
) The email subjecttext
: (string
) The plaintext contenthtml
: (string
) The html content (iftext
andhtml
are defined a multipart email is created)attachments.[key]
: (string) The string is treated as a path where the attachment is read from.attachments.[key]
: (UploadedFileInterface
|FlowResource
) The uploaded file or resource is added to the mailattachments.[key]
: (array{name:string, content:string}
) Create a file on the fly fromname
andcontent
attachments.[key]
: (iterable
) If iterables (Collections) are passed the files are attached recursivelytestMode
: (boolean
) Show debug information instead of actually sending the email.dsn
: (string
) Use the specified mailer dsn instead of the global setting
Example:
form = Neos.Fusion.Form:Runtime.RuntimeForm {
# ...
actions {
type = 'Sitegeist.Neos.SymfonyMailer:SendMail'
options {
senderAddress = ${q(node).property('mailFrom')}
recipientAddress = ${q(node).property('mailTo')}
subject = ${q(node).property('mailSubject')}
text = afx`Thank you {data.firstName} {data.lastName} from {data.city}, {data.street}`
html = afx`<h1>Thank you {data.firstName} {data.lastName}</h1><p>from {data.city}, {data.street}</p>`
attachments {
upload = ${data.file}
resource = "resource://Form.Test/Private/Fusion/Test.translation.csv"
jsonFile {
content = ${Json.stringify(data)}
name = 'data.json'
}
}
}
}
}
Configuration
The package allows to configure the dsn used by the mailer globally via settings. You can use the dsn specification as it is documented by symfony here: https://symfony.com/doc/current/mailer.html#transport-setup
Sitegeist: Neos: SymfonyMailer: dsn: 'sendmail://default'
Usage via PHP
The package is built upon the package Sitegeist.Neos.SymfonyMailer.Factories which can be used directly from php. See https://github.com/sitegeist/Sitegeist.Neos.SymfonyMailer.Factories how this is done.
Contribution
We will gladly accept contributions. Please send us pull requests.
License
See LICENSE