Forked from FL-Retiree/GetSimple\admin\inc\basic.php
Last active
June 5, 2024 04:19
-
-
Save tablatronix/f7f2e44b221210c4c709e018c3daef31 to your computer and use it in GitHub Desktop.
GetSimple/SMTP Mail Functionality
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* ---------------------------------------------------------------------- | |
This code fragment and addition to the GetSimple config file is designed to provide the capability to use SMTP mail when sending from | |
the GetSimple core application, not from plugins. For example, when sending a mail generated by a user request to "Reset Password" | |
GetSimple uses the built in PHP Mail() function only. Many hosting environments are now requiring that PHP scripts only use SMTP for | |
security reasons and thus this suggested change... | |
------------------------------------------------------------------------- | |
STEP #1 - | |
Add the following 2 lines to GSConfig.php: | |
# Change the default mailer to PHPMailer() | |
define('PHPMAILER', TRUE); | |
STEP #2 - | |
Install PHPMailer package from https://github.com/PHPMailer/PHPMailer/archive/master.zip in my Web Root. | |
STEP #3 - | |
Last step is changes to GetSimple\admin\inc\basic.php beginning with: | |
// ========================================================================== | |
include ($_SERVER["DOCUMENT_ROOT"] . '\\PHPMailer\\PHPMailerAutoload.php'); | |
// ========================================================================== | |
And finally - In the Function Sendmail() replace all the code following the last line containing "$headers .=" with: | |
*/ | |
// ======================= START PHP CODE ==================== | |
if (defined('PHPMAILER')) { | |
$mail = new PHPMailer; | |
$mail->isSMTP(); | |
//Enable SMTP debugging | |
// 0 = off (for production use) | |
// 1 = client messages | |
// 2 = client and server messages | |
// $mail->SMTPDebug = 2; | |
$mail->IsHTML(true); | |
//Ask for HTML-friendly debug output | |
// $mail->Debugoutput = 'html'; | |
//Set the hostname of the mail server | |
$mail->Host = "MY_SMTP_HOST.com"; | |
//Set the SMTP port number - likely to be 25, 465 or 587 | |
$mail->Port = MY_REQUIRED_PORT; | |
//Whether to use SMTP authentication | |
$mail->SMTPAuth = true; | |
//Username to use for SMTP authentication | |
$mail->Username = "MY_SMTP_USERNAME"; | |
//Password to use for SMTP authentication | |
$mail->Password = "MY_SMTP_PASSWORD"; | |
//Set who the message is to be sent from | |
$mail->setFrom('MY_SENTFROM_EMAIL', ''); | |
//Set an alternative reply-to address | |
$mail->addReplyTo('MY_REPLYTO_EMAIL', ''); | |
//Set who the message is to be sent to | |
$mail->addAddress($to, ''); | |
//Set the subject line | |
$mail->Subject = '=?UTF-8?B?'.base64_encode($subject).'?='; | |
$mail->Body = $message; | |
//send the message, check for errors | |
if (!$mail->send()) { | |
return 'success'; | |
} else { | |
return 'error'; | |
} | |
} // End if defined('PHPMAILER') | |
else { | |
if( @mail($to,'=?UTF-8?B?'.base64_encode($subject).'?=',"$message",$headers) ) { | |
return 'success'; | |
} else { | |
return 'error'; | |
} | |
} | |
// =============== END PHP CODE =============== |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is this still needed? Does it work in the latest GS? Would this work in GS Community Edition? Or is there a better way?