nette/mail
Nette Mail is a PHP library for composing and sending emails. Build MIME messages with text/HTML bodies, attachments, and embedded images, set headers and recipients, and send via SMTP or native mail() with a simple, reliable API.
This release introduces CssInliner – a brand-new component that brings CSS-to-inline-style conversion directly into Nette Mail. The minimum PHP version has been raised to 8.2, and static analysis is now a mandatory part of the build pipeline.
Minimum PHP version raised from 8.0 to 8.2 – time to upgrade if you haven't already
Improved PHPDoc types and descriptions for better IDE support and static analysis accuracy
CssInliner – converts <style> rules into inline style attributes, making your HTML emails render consistently across email clients. Features a single-regex tokenizer, full CSS nesting support, Dom\HTMLDocument selector matching (PHP 8.4+), and automatic Outlook-compatible HTML attribute generation (bgcolor, width, align, etc.). <style> tags are preserved so [@media](https://github.com/media) queries keep working.
Message::buildText(): Trim each text line. (#84)encodeHeader() -> encodeSequence()createAttachment() when content is provided, file name is not changedcreateAttachment() escapes " in filenameFor the details you can have a look at the diff.
getTime()For the details you can have a look at the diff.
read() instead of native file_get_contents() (#69)For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
DKIM can be configured via config file:
mail:
dkim:
domain: ...
selector: ...
privateKey: private.key.file
passPhrase: ...
testMode: ...
<email> #64getConfigSchema()For the details you can have a look at the diff.
mail() exists #52For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
setHtmlBody() added new syntax for embedded files [[image.gif]] #29addInlinePart() #27For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
For the details you can have a look at the diff.
How can I help you explore Laravel packages today?