Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
joomla:cert [2026/10/19 22:39] – Bernard Condraujoomla:cert [2026/10/19 22:43] (current) – [The Zero-SSL LAN Route (Alternative)] Bernard Condrau
Line 17: Line 17:
   * In Joomla's Mail Settings, change SMTP Security to None and switch the port to 25 (or the unencrypted port your mail server listens on).   * In Joomla's Mail Settings, change SMTP Security to None and switch the port to 25 (or the unencrypted port your mail server listens on).
   * Ensure your mail server is configured to accept authenticated SMTP traffic without TLS from internal LAN IP addresses.   * Ensure your mail server is configured to accept authenticated SMTP traffic without TLS from internal LAN IP addresses.
 +
 +==== Force PHP to Trust the Mail Server's Self-Signed / Internal Certificate ====
 +  * If your mail server uses a self-signed certificate, a private enterprise CA, or an internal domain name (e.g., mail.local), PHP will always reject it by default. Instead of turning off verification completely within Joomla, you can tell the Joomla server's operating system to explicitly trust this specific certificate.
 +  * Download the mail server's current public certificate directly from your Joomla server via the LAN:<code>openssl s_client -connect INTERNAL_MAIL_SERVER_IP:587 -starttls smtp </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /usr/local/share/ca-certificates/mail-server.crt</code>
 +  * (Note: Change INTERNAL_MAIL_SERVER_IP:587 to your mail server's LAN IP and port. If you use port 465, remove -starttls smtp).
 +  * Update the system's trusted store:<code>update-ca-certificates</code>
 +  * Restart your PHP/Apache services. PHP will now inherently trust the mail server's certificate without needing any code modifications.