This topic is locked

Storing SMTP settings in the database in version 11.x

12/15/2025 19:48:42
PHPRunner Tips and Tricks
Sergey Kornilov admin

The following code can be added to event like AfterAppInit. It assumes that you have a table named smtp_settings that stores several sets of SMTP settings as different parts of your projects ( modules ) may have a different set of SMTP settings.

global $runnerProjectSettings;
$strEmailKey = "WebPortal"; // module name
$rs = DB::Query("select * from smtp_settings where module ='" + strEmailKey + "'");
if ($data = $rs->fetchAssoc())
{
runnerProjectSettings["security"]["emailSettings"]["SMTPUser"] = $data["SMTPUser"];
runnerProjectSettings["security"]["emailSettings"]["SMTPServer"] = $data["SMTPServer"];
runnerProjectSettings["security"]["emailSettings"]["SMTPPort"] = $data["SMTPPort"];
runnerProjectSettings["security"]["emailSettings"]["SMTPPassword"] = $data["SMTPPassword"];
runnerProjectSettings["security"]["emailSettings"]["fromEmail"] = $data["fromEmail"];
runnerProjectSettings["security"]["emailSettings"]["securityProtocol"] = 0; // no SSL or TLS
}