mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-07-07 08:58:49 +00:00
[TASK] PHPMailer: Add first version
- no documents - no ssl
This commit is contained in:
parent
27db3f1e5d
commit
1b3fdf4e22
59 changed files with 8620 additions and 0 deletions
107
phpmailer/phpmailer.php
Normal file
107
phpmailer/phpmailer.php
Normal file
|
@ -0,0 +1,107 @@
|
|||
<?php
|
||||
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
/**
|
||||
* Name: PHP Mailer SMTP
|
||||
* Description: Connects to a SMTP server based on the config
|
||||
* Version: 0.1
|
||||
* Author: Marcus Mueller <http://mat.exon.name>
|
||||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Addon;
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
function phpmailer_install()
|
||||
{
|
||||
Addon::registerHook(
|
||||
'emailer_send_prepare',
|
||||
'addon/phpmailer/phpmailer.php',
|
||||
'phpmailer_emailer_send_prepare'
|
||||
);
|
||||
}
|
||||
|
||||
function phpmailer_uninstall()
|
||||
{
|
||||
Addon::unregisterHook(
|
||||
'emailer_send_prepare',
|
||||
'addon/phpmailer/phpmailer.php',
|
||||
'phpmailer_emailer_send_prepare'
|
||||
);
|
||||
}
|
||||
|
||||
function phpmailer_module()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @param App $a
|
||||
* @param array $b
|
||||
*/
|
||||
function phpmailer_emailer_send_prepare(App $a, array &$b)
|
||||
{
|
||||
require_once __DIR__ . '/phpmailer/src/PHPMailer.php';
|
||||
require_once __DIR__ . '/phpmailer/src/SMTP.php';
|
||||
require_once __DIR__ . '/phpmailer/src/Exception.php';
|
||||
|
||||
// Passing `true` enables exceptions
|
||||
$mail = new PHPMailer(true);
|
||||
try {
|
||||
if (!empty($a->config['system']['smtp']) && (bool)$a->config['system']['smtp'] === true) {
|
||||
// Set mailer to use SMTP
|
||||
$mail->isSMTP();
|
||||
/*
|
||||
// Enable verbose debug output
|
||||
$mail->SMTPDebug = 2;
|
||||
*/
|
||||
// Specify main and backup SMTP servers
|
||||
$mail->Host = $a->config['system']['smtp_server'];
|
||||
$mail->Port = $a->config['system']['smtp_port'];
|
||||
|
||||
/*
|
||||
if (!empty($a->config['system']['smtp_secure']) && (bool)$a->config['system']['smtp_secure'] !== '') {
|
||||
$mail->SMTPSecure = $a->config['system']['smtp_secure'];
|
||||
$mail->Port = $a->config['system']['smtp_port_s'];
|
||||
}
|
||||
*/
|
||||
|
||||
if (!empty($a->config['system']['smtp_username']) && !empty($a->config['system']['smtp_password'])) {
|
||||
$mail->SMTPAuth = true;
|
||||
$mail->Username = $a->config['system']['smtp_username'];
|
||||
$mail->Password = $a->config['system']['smtp_password'];
|
||||
}
|
||||
|
||||
if (!empty($a->config['system']['smtp_from']) && !empty($a->config['system']['smtp_domain'])) {
|
||||
$mail->setFrom($a->config['system']['smtp_from'], $a->config['sitename']);
|
||||
}
|
||||
}
|
||||
|
||||
// subject
|
||||
$mail->Subject = $b['messageSubject'];
|
||||
|
||||
// add text
|
||||
$mail->AltBody = $b['textVersion'];
|
||||
|
||||
// html version
|
||||
if (!empty($b['htmlVersion'])) {
|
||||
$mail->isHTML(true);
|
||||
$mail->Body = $b['htmlVersion'];
|
||||
}
|
||||
|
||||
/*
|
||||
// additional headers
|
||||
if (!empty($b['additionalMailHeader'])) {
|
||||
$mail->addCustomHeader($b['additionalMailHeader']);
|
||||
}
|
||||
*/
|
||||
|
||||
$mail->send();
|
||||
} catch (Exception $e) {
|
||||
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
|
||||
die();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue