mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-13 11:35:51 +01:00
Can specify display name for sender in email settings (Fix https://github.com/btcpayserver/btcpayserver/issues/910)
This commit is contained in:
parent
d176a16caa
commit
010ba4d5b6
5 changed files with 31 additions and 12 deletions
|
@ -859,7 +859,8 @@ namespace BTCPayServer.Controllers
|
|||
try
|
||||
{
|
||||
var client = model.Settings.CreateSmtpClient();
|
||||
await client.SendMailAsync(model.Settings.From, model.TestEmail, "BTCPay test", "BTCPay test");
|
||||
var message = model.Settings.CreateMailMessage(new MailAddress(model.TestEmail), "BTCPay test", "BTCPay test");
|
||||
await client.SendMailAsync(message);
|
||||
model.StatusMessage = "Email sent to " + model.TestEmail + ", please, verify you received it";
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Net.Mail;
|
||||
using System.Threading.Tasks;
|
||||
using BTCPayServer.Data;
|
||||
using BTCPayServer.Models.ServerViewModels;
|
||||
|
@ -39,7 +40,8 @@ namespace BTCPayServer.Controllers
|
|||
return View(model);
|
||||
}
|
||||
var client = model.Settings.CreateSmtpClient();
|
||||
await client.SendMailAsync(model.Settings.From, model.TestEmail, "BTCPay test", "BTCPay test");
|
||||
var message = model.Settings.CreateMailMessage(new MailAddress(model.TestEmail), "BTCPay test", "BTCPay test");
|
||||
await client.SendMailAsync(message);
|
||||
model.StatusMessage = "Email sent to " + model.TestEmail + ", please, verify you received it";
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -28,10 +28,8 @@ namespace BTCPayServer.Services.Mails
|
|||
}
|
||||
using (var smtp = emailSettings.CreateSmtpClient())
|
||||
{
|
||||
var mail = new MailMessage(emailSettings.From, email, subject, message)
|
||||
{
|
||||
IsBodyHtml = true
|
||||
};
|
||||
var mail = emailSettings.CreateMailMessage(new MailAddress(email), subject, message);
|
||||
mail.IsBodyHtml = true;
|
||||
try
|
||||
{
|
||||
await smtp.SendMailAsync(mail).WithCancellation(cancellationToken);
|
||||
|
|
|
@ -29,7 +29,15 @@ namespace BTCPayServer.Services.Mails
|
|||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[Display(Name = "Sender's display name")]
|
||||
public string FromDisplay
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[EmailAddress]
|
||||
[Display(Name = "Sender's email address")]
|
||||
public string From
|
||||
{
|
||||
get; set;
|
||||
|
@ -53,6 +61,17 @@ namespace BTCPayServer.Services.Mails
|
|||
return false;
|
||||
}
|
||||
|
||||
public MailMessage CreateMailMessage(MailAddress to, string subject, string message)
|
||||
{
|
||||
return new MailMessage(
|
||||
from: new MailAddress(From, FromDisplay),
|
||||
to: to)
|
||||
{
|
||||
Subject = subject,
|
||||
Body = message
|
||||
};
|
||||
}
|
||||
|
||||
public SmtpClient CreateSmtpClient()
|
||||
{
|
||||
SmtpClient client = new SmtpClient(Server, Port.Value);
|
||||
|
|
|
@ -21,36 +21,35 @@
|
|||
<input asp-for="Settings.Port" class="form-control" />
|
||||
<span asp-validation-for="Settings.Port" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.FromDisplay"></label>
|
||||
<input asp-for="Settings.FromDisplay" class="form-control" />
|
||||
<span asp-validation-for="Settings.FromDisplay" class="text-danger"></span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.From"></label>
|
||||
<input asp-for="Settings.From" class="form-control" />
|
||||
<span asp-validation-for="Settings.From" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Login"></label>
|
||||
<input asp-for="Settings.Login" class="form-control" />
|
||||
<span asp-validation-for="Settings.Login" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.Password"></label>
|
||||
<input asp-for="Settings.Password" value="@Model.Settings.Password" class="form-control" />
|
||||
<span asp-validation-for="Settings.Password" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="Settings.EnableSSL"></label>
|
||||
<input asp-for="Settings.EnableSSL" type="checkbox" class="form-check-inline" />
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label asp-for="TestEmail"></label>
|
||||
<input asp-for="TestEmail" class="form-control" />
|
||||
<span asp-validation-for="TestEmail" class="text-danger"></span>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Save">Save</button>
|
||||
<button type="submit" class="btn btn-primary" name="command" value="Test">Test</button>
|
||||
</form>
|
||||
|
|
Loading…
Add table
Reference in a new issue