Jadu Central can be configured to use an SMTP server to send email. It also includes a Mail service that should be used where ever email is sent in your code, to ensure consistency across the Jadu platform.
Configuration
Configuration within Jadu Central is XML based. The config should look like the following. Out of the box, Jadu provides a mail.xml.example
config which will be copied into the same directory as mail.xml
when the application is installed.
Example content of mail.xml
:
<?xml version="1.0" encoding="utf-8" ?>
<system xmlns:config="http://www.jadu.co.uk/schema/config">
<type>smtp</type>
<host>localhost</host>
<port>25</port>
<ssl></ssl>
<username></username>
<password></password>
<verify_peer>0</verify_peer>
</system>
After any changes are made to the mail.xml configuration file, the application config cache should be cleared.
Set Reply-Path
This is controlled via a constant, Add the following to the constants.xml
config:
<email_return_path>reply-path@domain.tld</email_return_path>
Set Sender
Same as Reply-Path, but sets the Sender
header within the email instead. Add the following to the constants.xml
config:
<email_sender_address>sender@domain.tld</email_sender_address>
Peer verification in SMTP
By default, SMTP transports perform TLS peer verification.
This may cause the following error to appear in logs where a self-signed SSL certificate is in use for the SMTP server:
Unable to connect with STARTTLS: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
This behavior is configurable by defining the VERIFY_PEER
element in mail.xml and setting the value to 0
.
<system xmlns:config="http://www.jadu.co.uk/schema/config">
<type>smtp</type>
<host>localhost</host>
<port>25</port>
<ssl></ssl>
<username></username>
<password></password>
<verify_peer>0</verify_peer>
</system>
Although it's not recommended to disable this verification for security reasons, it can be useful while developing the application or when using a self-signed certificate.
https://symfony.com/doc/5.4/mailer.html#tls-peer-verification