mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-10 17:26:05 +01:00
Merge pull request #6438 from dennisreimann/mwb-integration-email-qr
Add QR Code with link to invitation email
This commit is contained in:
commit
52a1627d81
3 changed files with 13 additions and 7 deletions
|
@ -62,7 +62,7 @@
|
|||
<PackageReference Include="LNURL" Version="0.0.36" />
|
||||
<PackageReference Include="MailKit" Version="4.8.0" />
|
||||
<PackageReference Include="BTCPayServer.NETCore.Plugins.Mvc" Version="1.4.4" />
|
||||
<PackageReference Include="QRCoder" Version="1.4.3" />
|
||||
<PackageReference Include="QRCoder" Version="1.6.0" />
|
||||
<PackageReference Include="System.IO.Pipelines" Version="8.0.0" />
|
||||
<PackageReference Include="NBitpayClient" Version="1.0.0.39" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
|
@ -73,10 +73,6 @@
|
|||
<PackageReference Include="Serilog.AspNetCore" Version="8.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.File" Version="5.0.1-dev-00968" />
|
||||
<PackageReference Include="SSH.NET" Version="2023.0.0" />
|
||||
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="TwentyTwenty.Storage" Version="2.24.2" />
|
||||
<PackageReference Include="TwentyTwenty.Storage.Amazon" Version="2.24.2" />
|
||||
<PackageReference Include="TwentyTwenty.Storage.Azure" Version="2.24.2" />
|
||||
|
@ -84,6 +80,7 @@
|
|||
<PackageReference Include="TwentyTwenty.Storage.Local" Version="2.24.2" />
|
||||
<PackageReference Condition="'$(RazorCompileOnBuild)' == 'false'" Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.11" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.11" />
|
||||
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using Microsoft.AspNetCore.Html;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.ViewComponents;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using System.Text.Encodings.Web;
|
||||
using BTCPayServer.Services.Mails;
|
||||
using MimeKit;
|
||||
using QRCoder;
|
||||
|
||||
namespace BTCPayServer.Services
|
||||
{
|
||||
|
@ -42,7 +43,7 @@ namespace BTCPayServer.Services
|
|||
public static void SendInvitation(this IEmailSender emailSender, MailboxAddress address, string link)
|
||||
{
|
||||
emailSender.SendEmail(address, "Invitation", CreateEmailBody(
|
||||
$"Please complete your account setup by clicking <a href='{HtmlEncoder.Default.Encode(link)}'>this link</a>."));
|
||||
$"<p>Please complete your account setup by clicking <a href='{HtmlEncoder.Default.Encode(link)}'>this link</a>.</p><p>You can also use the BTCPay Server app and scan this QR code when connecting:</p>{GetQrCodeImg(link)}"));
|
||||
}
|
||||
|
||||
public static void SendNewUserInfo(this IEmailSender emailSender, MailboxAddress address, string newUserInfo, string link)
|
||||
|
@ -56,5 +57,14 @@ namespace BTCPayServer.Services
|
|||
emailSender.SendEmail(address, userInfo, CreateEmailBody(
|
||||
$"{userInfo}. You can view the store users here: <a href='{HtmlEncoder.Default.Encode(link)}'>Store users</a>"));
|
||||
}
|
||||
|
||||
private static string GetQrCodeImg(string data)
|
||||
{
|
||||
using var qrGenerator = new QRCodeGenerator();
|
||||
using var qrCodeData = qrGenerator.CreateQrCode(data, QRCodeGenerator.ECCLevel.Q);
|
||||
using var qrCode = new Base64QRCode(qrCodeData);
|
||||
var base64 = qrCode.GetGraphic(20);
|
||||
return $"<img src='data:image/png;base64,{base64}' alt='{data}' width='320' height='320'/>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue