Files
ai_playgroud/auroraalt.php
T

48 lines
1.6 KiB
PHP

<?php
/**
* AuroraALT Mailer - kapselt den HTML-Mailversand.
*/
if (!function_exists('auroraalt_mail')) {
function auroraalt_mail(string $to, string $subject, string $htmlBody, array $options = []): bool
{
$fromEmail = $options['from_email'] ?? ($options['reply_to'] ?? ini_get('sendmail_from') ?: 'no-reply@getyourband.ch');
$fromName = $options['from_name'] ?? 'GetYourBand';
$replyTo = $options['reply_to'] ?? $fromEmail;
$headers = [
'MIME-Version: 1.0',
'Content-Type: text/html; charset=UTF-8',
'From: ' . (function_exists('mb_encode_mimeheader') ? mb_encode_mimeheader($fromName) : $fromName) . " <{$fromEmail}>",
'Reply-To: ' . $replyTo,
];
if (!empty($options['cc'])) {
$headers[] = 'Cc: ' . $options['cc'];
}
if (!empty($options['bcc'])) {
$headers[] = 'Bcc: ' . $options['bcc'];
}
$sendmailPath = ini_get('sendmail_path');
$transportAvailable = true;
if (stripos(PHP_OS, 'WIN') !== 0) {
$binary = trim(strtok((string) $sendmailPath, ' '));
if ($binary && !is_executable($binary)) {
$transportAvailable = false;
}
}
if (!$transportAvailable) {
return false;
}
$additionalHeaders = implode("\r\n", $headers);
$encodedSubject = function_exists('mb_encode_mimeheader')
? mb_encode_mimeheader($subject, 'UTF-8')
: $subject;
return @mail($to, $encodedSubject, $htmlBody, $additionalHeaders);
}
}