71 lines
2.3 KiB
PHP
71 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* File: class-mailsettingscontroller.php
|
|
*
|
|
*
|
|
* @since 2024-07-31
|
|
* @license GPL-3.0-or-later
|
|
*
|
|
* @package mareike/
|
|
*/
|
|
|
|
namespace Bdp\Modules\Mail\Controllers;
|
|
|
|
class MailSettingsController {
|
|
public static function set_smtp_if_required() {
|
|
|
|
|
|
$smtp_host = get_option('kompass_smtp_host', null); // SMTP-Host
|
|
$smtp_port = get_option('kompass_smtp_port', null); // SMTP-Port
|
|
$smtp_username = get_option('kompass_smtp_user', null); // SMTP-Benutzername
|
|
$smtp_password = get_option('kompass_smtp_pass', null); // SMTP-Passwort
|
|
$smtp_secure = 'tls'; // Verschlüsselung (tls oder ssl)
|
|
|
|
|
|
if (false !== (bool)get_option('kompass_use_smtp', false) &&
|
|
null !== $smtp_host &&
|
|
null !== $smtp_port &&
|
|
null !== $smtp_username &&
|
|
null !== $smtp_password) {
|
|
|
|
add_action( 'phpmailer_init', function ( $phpmailer ) use ( $smtp_host, $smtp_port, $smtp_username, $smtp_password, $smtp_secure ) {
|
|
$phpmailer->isSMTP();
|
|
$phpmailer->Host = $smtp_host;
|
|
$phpmailer->Port = $smtp_port;
|
|
$phpmailer->SMTPAuth = true;
|
|
$phpmailer->Username = $smtp_username;
|
|
$phpmailer->Password = $smtp_password;
|
|
|
|
$sender = get_option('kompass_smtp_sender', null);
|
|
$sender_name = get_option('kompass_smtp_sender-name', null);
|
|
|
|
if (null !== $sender && null !== $sender_name)
|
|
$phpmailer->setFrom( $sender, $sender_name );
|
|
#$phpmailer->SMTPSecure = $smtp_secure;
|
|
} );
|
|
}
|
|
|
|
}
|
|
|
|
public static function settings_form() {
|
|
if (isset($_POST['save'])) {
|
|
update_option('kompass_use_smtp', false);
|
|
|
|
if (isset($_POST['use_smtp'])) update_option('kompass_use_smtp', true);
|
|
update_option('kompass_smtp_host', sanitize_text_field(wp_unslash($_POST['smtp-host'])));
|
|
update_option('kompass_smtp_port', sanitize_text_field(wp_unslash($_POST['smtp-port'])));
|
|
update_option('kompass_smtp_user', sanitize_text_field(wp_unslash($_POST['smtp-user'])));
|
|
update_option('kompass_smtp_pass', sanitize_text_field(wp_unslash($_POST['smtp-pass'])));
|
|
update_option('kompass_smtp_sender', sanitize_text_field(wp_unslash($_POST['smtp-sender'])));
|
|
update_option('kompass_smtp_sender-name', sanitize_text_field(wp_unslash($_POST['smtp-sender-name'])));
|
|
|
|
kompass_print_message_box('Die Einstellungen wurden gespeichert.');
|
|
}
|
|
|
|
|
|
require BDP_LV_PLUGIN_DIR . '/settings/views/mail-settings.php';
|
|
|
|
|
|
}
|
|
|
|
} |