Zhen Mailer version 1.3

Started by Chen Zhen, January 25, 2020, 04:12:25 pm

Previous topic - Next topic

Chen Zhen

January 25, 2020, 04:12:25 pm Last Edit: June 14, 2020, 05:42:48 pm by Chen Zhen
SMF 2.0.X branch:
Adds STARTTLS-SMTP compatibility & extra utilities for your SMF outbound email.

SMF 2.1.X branch:
Adds utilities for your SMF outbound email.

Zhen Mailer

Version 1.3


PHP Mail Users:

Mail server software such as Postfix have a message size limit setting.
If you have a large database and are using the DB backup option you may need to increase this limit to a rather large number.
The setting is usually in Bytes and is based on the decompressed size of each file.
Even though files are compressed, your email program will decompress them to send the data.
This setting should be available in your Control Panel or you can manually adjust a config file if you have that option available.

Postfix reference example

This version concerns major changes and bug fixes.

Zhen Mailer is no longer restricted to SMTP email usage.
People using regular PHP mail may now take advantage of this utility.
If you operate a VPS or dedicated server and need help installing any of the requirements, please feel free to leave a post in the forum.

Branch differences:
SMF 2.1 offers a bit more flexibility due to its structure and use of more hooks compared to the SMF 2.0 branch.
Multiple emailed attachments from a single post in the SMF 2.1 branch will be sent as one email.
SMTP usage is no longer mandatory for this utility as it now supports regular PHP email.

However for the SMF 2.0 branch, it will send an email for each attachment even if all of them are from a single post.
SMTP-STARTTLS support is added for this branch as it is not normally available in SMF 2.0.X.

Zhen Mailer Admin Setting ~ Admin/User ID To Send DB Dumps
Be careful when adding an additional user email address to the sent database and/or attachment emails.
Ensure that the extra email address is one that should be receiving those emails (ie. an admin)

This installation process will add the following:

-> Database dumps that are forwarded to the webmaster email and/or an additional admin email.
-> Attachment backups to the webmaster email and/or an additional admin email as they are posted
-> STARTTLS-SMTP compatibility for use of 3rd party email providers (not necessary when using a properly configured PHP mail transfer client)
-> Options to encrypt any email attachments as compressed zip archives (requires PHP 7.2+ & ZipArchive)

Compatibility notes:
- PHP version 5.5 with the openssl PHP extension enabled is the minimum requirement for STARTTLS-SMTP compatibility
- ZipArchive extension is required for compression of any attachment backups
- PHP version 7.2+ with the ZipArchive extension is required for any archive encryption
- cURL extension is required for the scheduled database dumps option

This will allow your forum to use SMTP email using gmail, hotmail or yahoo mail.
PHP version 7.2+, ZipArchive & cURL extensions are recommended to make full use of this modification.

Updated CA certificates are required for your forum to communicate with email providers using the STARTTLS SMTP extension.
Example settings for your php.ini file may be:
openssl.cafile = /etc/ssl/cacert.pem
curl.cainfo = /etc/ssl/cacert.pem

You can download the latest cacert.pem file here:

Other Notes:
Although it is not mandatory, a mail user named "members" should be created for BCC bulk emails.
SMTP port 587 is recommended.

Zhen Mailer for Simple Machines Forum
c/o Chen Zhen @ web-develop.ca
@license  http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@copyright 2020 Chen Zhen

3rd Party Usage:
PHPMailer - PHP email creation and transport class.
@license  http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@author    Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
@copyright 2012 - 2017 Marcus Bointon

Shuttle-Export c/o 2createStudio
PHP based MySQL dump library
@license  http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
@copyright 2015 - 2017 2createStudio

Distributed under the GNU Lesser General Public License -> https://www.gnu.org/licenses/lgpl.html