Fix SMTP after QA
This commit is contained in:
parent
4f630e90b3
commit
c98d5bd3cd
|
@ -54,16 +54,6 @@
|
||||||
<div style="max-width:650px; word-wrap: break-wrod; overflow-wrap: break-word;
|
<div style="max-width:650px; word-wrap: break-wrod; overflow-wrap: break-word;
|
||||||
word-break: break-all; margin:0 auto;">
|
word-break: break-all; margin:0 auto;">
|
||||||
<table style="margin-top: 32px">
|
<table style="margin-top: 32px">
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<h1>
|
|
||||||
{{subject}}
|
|
||||||
</h1>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<table style="margin-top: 40px">
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
{{body}}
|
{{body}}
|
||||||
|
|
|
@ -1091,50 +1091,60 @@ App::post('/v1/account/sessions/magic-url')
|
||||||
$url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $user->getId(), 'secret' => $loginSecret, 'expire' => $expire, 'project' => $project->getId()]);
|
$url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $user->getId(), 'secret' => $loginSecret, 'expire' => $expire, 'project' => $project->getId()]);
|
||||||
$url = Template::unParseURL($url);
|
$url = Template::unParseURL($url);
|
||||||
|
|
||||||
$from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $project->getAttribute('name'));
|
|
||||||
$body = $locale->getText("emails.magicSession.body");
|
$body = $locale->getText("emails.magicSession.body");
|
||||||
$subject = $locale->getText("emails.magicSession.subject");
|
$subject = $locale->getText("emails.magicSession.subject");
|
||||||
|
|
||||||
$smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false;
|
|
||||||
$customTemplate = $project->getAttribute('templates', [])['email.magicSession-' . $locale->default] ?? [];
|
$customTemplate = $project->getAttribute('templates', [])['email.magicSession-' . $locale->default] ?? [];
|
||||||
if ($smtpEnabled && !empty($customTemplate)) {
|
|
||||||
$body = $customTemplate['message'] ?? '';
|
|
||||||
$subject = $customTemplate['subject'] ?? $subject;
|
|
||||||
$from = $customTemplate['senderName'] ?? $from;
|
|
||||||
|
|
||||||
$senderEmail = $customTemplate['senderEmail'] ?? '';
|
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
||||||
$senderEmail = $senderEmail ?: ($smtp['senderEmail'] ?? '');
|
$message->setParam('{{body}}', $body);
|
||||||
$senderEmail = $senderEmail ?: App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
$body = $message->render();
|
||||||
|
|
||||||
$senderName = $customTemplate['senderName'] ?? '';
|
$smtp = $project->getAttribute('smtp', []);
|
||||||
$senderName = $senderName ?: ($smtp['senderName'] ?? '');
|
$smtpEnabled = $smtp['enabled'] ?? false;
|
||||||
$senderName = $senderName ?: App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
|
||||||
|
|
||||||
$replyTo = $customTemplate['replyTo'] ?? '';
|
$senderEmail = App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
||||||
$replyTo = $replyTo ?: ($smtp['replyTo'] ?? '');
|
$senderName = App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
||||||
$replyTo = $senderEmail;
|
$replyTo = "";
|
||||||
|
|
||||||
|
if ($smtpEnabled) {
|
||||||
|
if (!empty($smtp['senderEmail'])) {
|
||||||
|
$senderEmail = $smtp['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['senderName'])) {
|
||||||
|
$senderName = $smtp['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['replyTo'])) {
|
||||||
|
$replyTo = $smtp['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
$smtp = $project->getAttribute('smtp', []);
|
|
||||||
$mails
|
$mails
|
||||||
->setSmtpHost($smtp['host'] ?? '')
|
->setSmtpHost($smtp['host'] ?? '')
|
||||||
->setSmtpPort($smtp['port'] ?? '')
|
->setSmtpPort($smtp['port'] ?? '')
|
||||||
->setSmtpUsername($smtp['username'] ?? '')
|
->setSmtpUsername($smtp['username'] ?? '')
|
||||||
->setSmtpPassword($smtp['password'] ?? '')
|
->setSmtpPassword($smtp['password'] ?? '')
|
||||||
->setSmtpSecure($smtp['secure'] ?? '')
|
->setSmtpSecure($smtp['secure'] ?? '');
|
||||||
->setSmtpReplyTo($replyTo)
|
|
||||||
->setSmtpSenderEmail($senderEmail)
|
|
||||||
->setSmtpSenderName($senderName);
|
|
||||||
} else {
|
|
||||||
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
|
||||||
$message->setParam('{{body}}', $body);
|
|
||||||
$body = $message->render();
|
|
||||||
|
|
||||||
$mails
|
|
||||||
->setSmtpReplyTo(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderEmail(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderName(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($customTemplate)) {
|
||||||
|
if (!empty($customTemplate['senderEmail'])) {
|
||||||
|
$senderEmail = $customTemplate['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['senderName'])) {
|
||||||
|
$senderName = $customTemplate['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['replyTo'])) {
|
||||||
|
$replyTo = $customTemplate['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = $customTemplate['message'] ?? '';
|
||||||
|
$subject = $customTemplate['subject'] ?? $subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
$mails
|
||||||
|
->setSmtpReplyTo($replyTo)
|
||||||
|
->setSmtpSenderEmail($senderEmail)
|
||||||
|
->setSmtpSenderName($senderName);
|
||||||
|
|
||||||
$emailVariables = [
|
$emailVariables = [
|
||||||
'subject' => $subject,
|
'subject' => $subject,
|
||||||
'hello' => $locale->getText("emails.magicSession.hello"),
|
'hello' => $locale->getText("emails.magicSession.hello"),
|
||||||
|
@ -1153,9 +1163,8 @@ App::post('/v1/account/sessions/magic-url')
|
||||||
|
|
||||||
$mails
|
$mails
|
||||||
->setSubject($subject)
|
->setSubject($subject)
|
||||||
->setBody($body->render())
|
->setBody($body)
|
||||||
->setVariables($emailVariables)
|
->setVariables($emailVariables)
|
||||||
->setFrom($from)
|
|
||||||
->setRecipient($user->getAttribute('email'))
|
->setRecipient($user->getAttribute('email'))
|
||||||
->trigger()
|
->trigger()
|
||||||
;
|
;
|
||||||
|
@ -2539,50 +2548,60 @@ App::post('/v1/account/recovery')
|
||||||
$url = Template::unParseURL($url);
|
$url = Template::unParseURL($url);
|
||||||
|
|
||||||
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
||||||
$from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $projectName);
|
|
||||||
$body = $locale->getText("emails.recovery.body");
|
$body = $locale->getText("emails.recovery.body");
|
||||||
$subject = $locale->getText("emails.recovery.subject");
|
$subject = $locale->getText("emails.recovery.subject");
|
||||||
|
|
||||||
$smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false;
|
|
||||||
$customTemplate = $project->getAttribute('templates', [])['email.recovery-' . $locale->default] ?? [];
|
$customTemplate = $project->getAttribute('templates', [])['email.recovery-' . $locale->default] ?? [];
|
||||||
if ($smtpEnabled && !empty($customTemplate)) {
|
|
||||||
$body = $customTemplate['message'];
|
|
||||||
$subject = $customTemplate['subject'] ?? $subject;
|
|
||||||
$from = $customTemplate['senderName'] ?? $from;
|
|
||||||
|
|
||||||
$senderEmail = $customTemplate['senderEmail'] ?? '';
|
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
||||||
$senderEmail = $senderEmail ?: ($smtp['senderEmail'] ?? '');
|
$message->setParam('{{body}}', $body);
|
||||||
$senderEmail = $senderEmail ?: App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
$body = $message->render();
|
||||||
|
|
||||||
$senderName = $customTemplate['senderName'] ?? '';
|
$smtp = $project->getAttribute('smtp', []);
|
||||||
$senderName = $senderName ?: ($smtp['senderName'] ?? '');
|
$smtpEnabled = $smtp['enabled'] ?? false;
|
||||||
$senderName = $senderName ?: App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
|
||||||
|
|
||||||
$replyTo = $customTemplate['replyTo'] ?? '';
|
$senderEmail = App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
||||||
$replyTo = $replyTo ?: ($smtp['replyTo'] ?? '');
|
$senderName = App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
||||||
$replyTo = $senderEmail;
|
$replyTo = "";
|
||||||
|
|
||||||
|
if ($smtpEnabled) {
|
||||||
|
if (!empty($smtp['senderEmail'])) {
|
||||||
|
$senderEmail = $smtp['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['senderName'])) {
|
||||||
|
$senderName = $smtp['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['replyTo'])) {
|
||||||
|
$replyTo = $smtp['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
$smtp = $project->getAttribute('smtp', []);
|
|
||||||
$mails
|
$mails
|
||||||
->setSmtpHost($smtp['host'] ?? '')
|
->setSmtpHost($smtp['host'] ?? '')
|
||||||
->setSmtpPort($smtp['port'] ?? '')
|
->setSmtpPort($smtp['port'] ?? '')
|
||||||
->setSmtpUsername($smtp['username'] ?? '')
|
->setSmtpUsername($smtp['username'] ?? '')
|
||||||
->setSmtpPassword($smtp['password'] ?? '')
|
->setSmtpPassword($smtp['password'] ?? '')
|
||||||
->setSmtpSecure($smtp['secure'] ?? '')
|
->setSmtpSecure($smtp['secure'] ?? '');
|
||||||
->setSmtpReplyTo($replyTo)
|
|
||||||
->setSmtpSenderEmail($senderEmail)
|
|
||||||
->setSmtpSenderName($senderName);
|
|
||||||
} else {
|
|
||||||
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
|
||||||
$message->setParam('{{body}}', $body);
|
|
||||||
$body = $message->render();
|
|
||||||
|
|
||||||
$mails
|
|
||||||
->setSmtpReplyTo(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderEmail(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderName(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($customTemplate)) {
|
||||||
|
if (!empty($customTemplate['senderEmail'])) {
|
||||||
|
$senderEmail = $customTemplate['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['senderName'])) {
|
||||||
|
$senderName = $customTemplate['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['replyTo'])) {
|
||||||
|
$replyTo = $customTemplate['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = $customTemplate['message'] ?? '';
|
||||||
|
$subject = $customTemplate['subject'] ?? $subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
$mails
|
||||||
|
->setSmtpReplyTo($replyTo)
|
||||||
|
->setSmtpSenderEmail($senderEmail)
|
||||||
|
->setSmtpSenderName($senderName);
|
||||||
|
|
||||||
$emailVariables = [
|
$emailVariables = [
|
||||||
'subject' => $subject,
|
'subject' => $subject,
|
||||||
'hello' => $locale->getText("emails.recovery.hello"),
|
'hello' => $locale->getText("emails.recovery.hello"),
|
||||||
|
@ -2605,7 +2624,6 @@ App::post('/v1/account/recovery')
|
||||||
->setName($profile->getAttribute('name'))
|
->setName($profile->getAttribute('name'))
|
||||||
->setBody($body)
|
->setBody($body)
|
||||||
->setVariables($emailVariables)
|
->setVariables($emailVariables)
|
||||||
->setFrom($from)
|
|
||||||
->setSubject($subject)
|
->setSubject($subject)
|
||||||
->trigger();
|
->trigger();
|
||||||
;
|
;
|
||||||
|
@ -2781,50 +2799,60 @@ App::post('/v1/account/verification')
|
||||||
$url = Template::unParseURL($url);
|
$url = Template::unParseURL($url);
|
||||||
|
|
||||||
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
||||||
$from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $projectName);
|
|
||||||
$body = $locale->getText("emails.verification.body");
|
$body = $locale->getText("emails.verification.body");
|
||||||
$subject = $locale->getText("emails.verification.subject");
|
$subject = $locale->getText("emails.verification.subject");
|
||||||
|
|
||||||
$smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false;
|
|
||||||
$customTemplate = $project->getAttribute('templates', [])['email.verification-' . $locale->default] ?? [];
|
$customTemplate = $project->getAttribute('templates', [])['email.verification-' . $locale->default] ?? [];
|
||||||
if ($smtpEnabled && !empty($customTemplate)) {
|
|
||||||
$body = $customTemplate['message'] ?? '';
|
|
||||||
$subject = $customTemplate['subject'] ?? $subject;
|
|
||||||
$from = $customTemplate['senderName'] ?? $from;
|
|
||||||
|
|
||||||
$senderEmail = $customTemplate['senderEmail'] ?? '';
|
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
||||||
$senderEmail = $senderEmail ?: ($smtp['senderEmail'] ?? '');
|
$message->setParam('{{body}}', $body);
|
||||||
$senderEmail = $senderEmail ?: App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
$body = $message->render();
|
||||||
|
|
||||||
$senderName = $customTemplate['senderName'] ?? '';
|
$smtp = $project->getAttribute('smtp', []);
|
||||||
$senderName = $senderName ?: ($smtp['senderName'] ?? '');
|
$smtpEnabled = $smtp['enabled'] ?? false;
|
||||||
$senderName = $senderName ?: App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
|
||||||
|
|
||||||
$replyTo = $customTemplate['replyTo'] ?? '';
|
$senderEmail = App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
||||||
$replyTo = $replyTo ?: ($smtp['replyTo'] ?? '');
|
$senderName = App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
||||||
$replyTo = $senderEmail;
|
$replyTo = "";
|
||||||
|
|
||||||
|
if ($smtpEnabled) {
|
||||||
|
if (!empty($smtp['senderEmail'])) {
|
||||||
|
$senderEmail = $smtp['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['senderName'])) {
|
||||||
|
$senderName = $smtp['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['replyTo'])) {
|
||||||
|
$replyTo = $smtp['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
$smtp = $project->getAttribute('smtp', []);
|
|
||||||
$mails
|
$mails
|
||||||
->setSmtpHost($smtp['host'] ?? '')
|
->setSmtpHost($smtp['host'] ?? '')
|
||||||
->setSmtpPort($smtp['port'] ?? '')
|
->setSmtpPort($smtp['port'] ?? '')
|
||||||
->setSmtpUsername($smtp['username'] ?? '')
|
->setSmtpUsername($smtp['username'] ?? '')
|
||||||
->setSmtpPassword($smtp['password'] ?? '')
|
->setSmtpPassword($smtp['password'] ?? '')
|
||||||
->setSmtpSecure($smtp['secure'] ?? '')
|
->setSmtpSecure($smtp['secure'] ?? '');
|
||||||
->setSmtpReplyTo($replyTo)
|
|
||||||
->setSmtpSenderEmail($senderEmail)
|
|
||||||
->setSmtpSenderName($senderName);
|
|
||||||
} else {
|
|
||||||
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
|
||||||
$message->setParam('{{body}}', $body);
|
|
||||||
$body = $message->render();
|
|
||||||
|
|
||||||
$mails
|
|
||||||
->setSmtpReplyTo(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderEmail(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderName(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($customTemplate)) {
|
||||||
|
if (!empty($customTemplate['senderEmail'])) {
|
||||||
|
$senderEmail = $customTemplate['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['senderName'])) {
|
||||||
|
$senderName = $customTemplate['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['replyTo'])) {
|
||||||
|
$replyTo = $customTemplate['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = $customTemplate['message'] ?? '';
|
||||||
|
$subject = $customTemplate['subject'] ?? $subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
$mails
|
||||||
|
->setSmtpReplyTo($replyTo)
|
||||||
|
->setSmtpSenderEmail($senderEmail)
|
||||||
|
->setSmtpSenderName($senderName);
|
||||||
|
|
||||||
$emailVariables = [
|
$emailVariables = [
|
||||||
'subject' => $subject,
|
'subject' => $subject,
|
||||||
'hello' => $locale->getText("emails.verification.hello"),
|
'hello' => $locale->getText("emails.verification.hello"),
|
||||||
|
@ -2845,7 +2873,6 @@ App::post('/v1/account/verification')
|
||||||
->setSubject($subject)
|
->setSubject($subject)
|
||||||
->setBody($body)
|
->setBody($body)
|
||||||
->setVariables($emailVariables)
|
->setVariables($emailVariables)
|
||||||
->setFrom($from)
|
|
||||||
->setRecipient($user->getAttribute('email'))
|
->setRecipient($user->getAttribute('email'))
|
||||||
->setName($user->getAttribute('name') ?? '')
|
->setName($user->getAttribute('name') ?? '')
|
||||||
->trigger()
|
->trigger()
|
||||||
|
|
|
@ -1682,13 +1682,11 @@ App::get('/v1/projects/:projectId/templates/email/:type/:locale')
|
||||||
->setParam('{{direction}}', $localeObj->getText('settings.direction'));
|
->setParam('{{direction}}', $localeObj->getText('settings.direction'));
|
||||||
$message = $message->render();
|
$message = $message->render();
|
||||||
|
|
||||||
$from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($localeObj->getText('emails.sender'), $project->getAttribute('name'));
|
|
||||||
$from = empty($from) ? \urldecode(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server')) : $from;
|
|
||||||
$template = [
|
$template = [
|
||||||
'message' => $message,
|
'message' => $message,
|
||||||
'subject' => $localeObj->getText('emails.' . $type . '.subject'),
|
'subject' => $localeObj->getText('emails.' . $type . '.subject'),
|
||||||
'senderEmail' => App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', ''),
|
'senderEmail' => '',
|
||||||
'senderName' => $from
|
'senderName' => ''
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -543,50 +543,60 @@ App::post('/v1/teams/:teamId/memberships')
|
||||||
if (!empty($email)) {
|
if (!empty($email)) {
|
||||||
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
$projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
|
||||||
|
|
||||||
$from = $project->isEmpty() || $project->getId() === 'console' ? '' : \sprintf($locale->getText('emails.sender'), $projectName);
|
|
||||||
$body = $locale->getText("emails.invitation.body");
|
$body = $locale->getText("emails.invitation.body");
|
||||||
$subject = \sprintf($locale->getText("emails.invitation.subject"), $team->getAttribute('name'), $projectName);
|
$subject = \sprintf($locale->getText("emails.invitation.subject"), $team->getAttribute('name'), $projectName);
|
||||||
|
|
||||||
$smtpEnabled = $project->getAttribute('smtp', [])['enabled'] ?? false;
|
|
||||||
$customTemplate = $project->getAttribute('templates', [])['email.invitation-' . $locale->default] ?? [];
|
$customTemplate = $project->getAttribute('templates', [])['email.invitation-' . $locale->default] ?? [];
|
||||||
if ($smtpEnabled && !empty($customTemplate)) {
|
|
||||||
$body = Template::fromString($customTemplate['message'] ?? '');
|
|
||||||
$subject = $customTemplate['subject'] ?? $subject;
|
|
||||||
$from = $customTemplate['senderName'] ?? $from;
|
|
||||||
|
|
||||||
$senderEmail = $customTemplate['senderEmail'] ?? '';
|
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
||||||
$senderEmail = $senderEmail ?: ($smtp['senderEmail'] ?? '');
|
$message->setParam('{{body}}', $body);
|
||||||
$senderEmail = $senderEmail ?: App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
$body = $message->render();
|
||||||
|
|
||||||
$senderName = $customTemplate['senderName'] ?? '';
|
$smtp = $project->getAttribute('smtp', []);
|
||||||
$senderName = $senderName ?: ($smtp['senderName'] ?? '');
|
$smtpEnabled = $smtp['enabled'] ?? false;
|
||||||
$senderName = $senderName ?: App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
|
||||||
|
|
||||||
$replyTo = $customTemplate['replyTo'] ?? '';
|
$senderEmail = App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
|
||||||
$replyTo = $replyTo ?: ($smtp['replyTo'] ?? '');
|
$senderName = App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server');
|
||||||
$replyTo = $senderEmail;
|
$replyTo = "";
|
||||||
|
|
||||||
|
if ($smtpEnabled) {
|
||||||
|
if (!empty($smtp['senderEmail'])) {
|
||||||
|
$senderEmail = $smtp['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['senderName'])) {
|
||||||
|
$senderName = $smtp['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($smtp['replyTo'])) {
|
||||||
|
$replyTo = $smtp['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
$smtp = $project->getAttribute('smtp', []);
|
|
||||||
$mails
|
$mails
|
||||||
->setSmtpHost($smtp['host'] ?? '')
|
->setSmtpHost($smtp['host'] ?? '')
|
||||||
->setSmtpPort($smtp['port'] ?? '')
|
->setSmtpPort($smtp['port'] ?? '')
|
||||||
->setSmtpUsername($smtp['username'] ?? '')
|
->setSmtpUsername($smtp['username'] ?? '')
|
||||||
->setSmtpPassword($smtp['password'] ?? '')
|
->setSmtpPassword($smtp['password'] ?? '')
|
||||||
->setSmtpSecure($smtp['secure'] ?? '')
|
->setSmtpSecure($smtp['secure'] ?? '');
|
||||||
->setSmtpReplyTo($replyTo)
|
|
||||||
->setSmtpSenderEmail($senderEmail)
|
|
||||||
->setSmtpSenderName($senderName);
|
|
||||||
} else {
|
|
||||||
$message = Template::fromFile(__DIR__ . '/../../config/locale/templates/email-inner-base.tpl');
|
|
||||||
$message->setParam('{{body}}', $body);
|
|
||||||
$body = $message->render();
|
|
||||||
|
|
||||||
$mails
|
|
||||||
->setSmtpReplyTo(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderEmail(App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM))
|
|
||||||
->setSmtpSenderName(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($customTemplate)) {
|
||||||
|
if (!empty($customTemplate['senderEmail'])) {
|
||||||
|
$senderEmail = $customTemplate['senderEmail'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['senderName'])) {
|
||||||
|
$senderName = $customTemplate['senderName'];
|
||||||
|
}
|
||||||
|
if (!empty($customTemplate['replyTo'])) {
|
||||||
|
$replyTo = $customTemplate['replyTo'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = $customTemplate['message'] ?? '';
|
||||||
|
$subject = $customTemplate['subject'] ?? $subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
$mails
|
||||||
|
->setSmtpReplyTo($replyTo)
|
||||||
|
->setSmtpSenderEmail($senderEmail)
|
||||||
|
->setSmtpSenderName($senderName);
|
||||||
|
|
||||||
$emailVariables = [
|
$emailVariables = [
|
||||||
'owner' => $user->getAttribute('name'),
|
'owner' => $user->getAttribute('name'),
|
||||||
'team' => $team->getAttribute('name'),
|
'team' => $team->getAttribute('name'),
|
||||||
|
@ -608,7 +618,6 @@ App::post('/v1/teams/:teamId/memberships')
|
||||||
$mails
|
$mails
|
||||||
->setSubject($subject)
|
->setSubject($subject)
|
||||||
->setBody($body)
|
->setBody($body)
|
||||||
->setFrom($from)
|
|
||||||
->setRecipient($invitee->getAttribute('email'))
|
->setRecipient($invitee->getAttribute('email'))
|
||||||
->setName($invitee->getAttribute('name'))
|
->setName($invitee->getAttribute('name'))
|
||||||
->setVariables($emailVariables)
|
->setVariables($emailVariables)
|
||||||
|
|
|
@ -38,7 +38,6 @@ class MailsV1 extends Worker
|
||||||
$name = $this->args['name'];
|
$name = $this->args['name'];
|
||||||
$body = $this->args['body'];
|
$body = $this->args['body'];
|
||||||
$variables = $this->args['variables'];
|
$variables = $this->args['variables'];
|
||||||
$from = $this->args['from'];
|
|
||||||
|
|
||||||
$body = Template::fromFile(__DIR__ . '/../config/locale/templates/email-base.tpl');
|
$body = Template::fromFile(__DIR__ . '/../config/locale/templates/email-base.tpl');
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ use Utopia\Database\Document;
|
||||||
class Mail extends Event
|
class Mail extends Event
|
||||||
{
|
{
|
||||||
protected string $recipient = '';
|
protected string $recipient = '';
|
||||||
protected string $from = '';
|
|
||||||
protected string $name = '';
|
protected string $name = '';
|
||||||
protected string $subject = '';
|
protected string $subject = '';
|
||||||
protected string $body = '';
|
protected string $body = '';
|
||||||
|
@ -66,29 +65,6 @@ class Mail extends Event
|
||||||
return $this->recipient;
|
return $this->recipient;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets from for the mail event.
|
|
||||||
*
|
|
||||||
* @param string $from
|
|
||||||
* @return self
|
|
||||||
*/
|
|
||||||
public function setFrom(string $from): self
|
|
||||||
{
|
|
||||||
$this->from = $from;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns from for mail event.
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getFrom(): string
|
|
||||||
{
|
|
||||||
return $this->from;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets body for the mail event.
|
* Sets body for the mail event.
|
||||||
*
|
*
|
||||||
|
@ -342,7 +318,6 @@ class Mail extends Event
|
||||||
public function trigger(): string|bool
|
public function trigger(): string|bool
|
||||||
{
|
{
|
||||||
return Resque::enqueue($this->queue, $this->class, [
|
return Resque::enqueue($this->queue, $this->class, [
|
||||||
'from' => $this->from,
|
|
||||||
'recipient' => $this->recipient,
|
'recipient' => $this->recipient,
|
||||||
'name' => $this->name,
|
'name' => $this->name,
|
||||||
'subject' => $this->subject,
|
'subject' => $this->subject,
|
||||||
|
|
Loading…
Reference in a new issue