sitegeist / neos-symfonymailer
A connector to use the symfony mailer component in Neos.Fusion.Form Actions and via PHP
Installs: 19 790
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 1
Type:neos-package
pkg:composer/sitegeist/neos-symfonymailer
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: 2025-10-29 03:39:39 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 (iftextandhtmlare 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 fromnameandcontentattachments.[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