feature: add reply-to address for email service
This commit is contained in:
@@ -5,6 +5,7 @@ namespace Disco.Models.Services.Messaging
|
|||||||
public class Email
|
public class Email
|
||||||
{
|
{
|
||||||
public string From { get; set; }
|
public string From { get; set; }
|
||||||
|
public string ReplyTo { get; set; }
|
||||||
public List<string> To { get; } = new List<string>();
|
public List<string> To { get; } = new List<string>();
|
||||||
public List<string> CC { get; } = new List<string>();
|
public List<string> CC { get; } = new List<string>();
|
||||||
public List<string> BCC { get; } = new List<string>();
|
public List<string> BCC { get; } = new List<string>();
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ namespace Disco.Services.Messaging
|
|||||||
private static bool smtpEnableSsl;
|
private static bool smtpEnableSsl;
|
||||||
private static string smtpUsername;
|
private static string smtpUsername;
|
||||||
private static string smtpPassword;
|
private static string smtpPassword;
|
||||||
|
private static string smtpReplyToAddress;
|
||||||
|
|
||||||
public static bool IsConfigured { get; private set; }
|
public static bool IsConfigured { get; private set; }
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ namespace Disco.Services.Messaging
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ValidateConfiguration(string smtpServer, int smtpPort, string fromAddress, bool enableSsl, string username, string password)
|
public static void ValidateConfiguration(string smtpServer, int smtpPort, string fromAddress, string replyToAddress, bool enableSsl, string username, string password)
|
||||||
{
|
{
|
||||||
// if smtpServer is null, we aren't configured (emailing is disabled)
|
// if smtpServer is null, we aren't configured (emailing is disabled)
|
||||||
if (!string.IsNullOrWhiteSpace(smtpServer))
|
if (!string.IsNullOrWhiteSpace(smtpServer))
|
||||||
@@ -38,6 +39,9 @@ namespace Disco.Services.Messaging
|
|||||||
throw new ArgumentOutOfRangeException(nameof(fromAddress), "From Address is required");
|
throw new ArgumentOutOfRangeException(nameof(fromAddress), "From Address is required");
|
||||||
// try parse FromAddress
|
// try parse FromAddress
|
||||||
new MailAddress(fromAddress);
|
new MailAddress(fromAddress);
|
||||||
|
// try parse reply-to address
|
||||||
|
if (!string.IsNullOrWhiteSpace(replyToAddress))
|
||||||
|
new MailAddress(replyToAddress);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +53,7 @@ namespace Disco.Services.Messaging
|
|||||||
smtpFromAddress = systemConfiguration.EmailFromAddress;
|
smtpFromAddress = systemConfiguration.EmailFromAddress;
|
||||||
smtpUsername = systemConfiguration.EmailUsername;
|
smtpUsername = systemConfiguration.EmailUsername;
|
||||||
smtpPassword = systemConfiguration.EmailPassword;
|
smtpPassword = systemConfiguration.EmailPassword;
|
||||||
|
smtpReplyToAddress = systemConfiguration.EmailReplyToAddress;
|
||||||
|
|
||||||
IsConfigured =
|
IsConfigured =
|
||||||
!string.IsNullOrWhiteSpace(smtpServer) &&
|
!string.IsNullOrWhiteSpace(smtpServer) &&
|
||||||
@@ -73,6 +78,11 @@ namespace Disco.Services.Messaging
|
|||||||
else
|
else
|
||||||
message.From = new MailAddress(smtpFromAddress);
|
message.From = new MailAddress(smtpFromAddress);
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(email.ReplyTo))
|
||||||
|
message.ReplyToList.Add(new MailAddress(email.ReplyTo));
|
||||||
|
else if (!string.IsNullOrWhiteSpace(smtpReplyToAddress))
|
||||||
|
message.ReplyToList.Add(new MailAddress(smtpReplyToAddress));
|
||||||
|
|
||||||
if (email.To.Count > 0)
|
if (email.To.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var recipient in email.To)
|
foreach (var recipient in email.To)
|
||||||
|
|||||||
@@ -368,18 +368,19 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
#region Email Settings
|
#region Email Settings
|
||||||
|
|
||||||
[DiscoAuthorize(Claims.Config.System.ConfigureEmail), ValidateInput(false), ValidateAntiForgeryToken]
|
[DiscoAuthorize(Claims.Config.System.ConfigureEmail), ValidateInput(false), ValidateAntiForgeryToken]
|
||||||
public virtual ActionResult UpdateEmailSettings(string SmtpServer, int? SmtpPort, string FromAddress, bool EnableSsl, string Username, string Password, bool redirect = false)
|
public virtual ActionResult UpdateEmailSettings(string SmtpServer, int? SmtpPort, string FromAddress, string ReplyToAddress, bool EnableSsl, string Username, string Password, bool redirect = false)
|
||||||
{
|
{
|
||||||
// Default Port
|
// Default Port
|
||||||
if (!SmtpPort.HasValue)
|
if (!SmtpPort.HasValue)
|
||||||
SmtpPort = 25;
|
SmtpPort = 25;
|
||||||
|
|
||||||
EmailService.ValidateConfiguration(SmtpServer, SmtpPort.Value, FromAddress, EnableSsl, Username, Password);
|
EmailService.ValidateConfiguration(SmtpServer, SmtpPort.Value, FromAddress, ReplyToAddress, EnableSsl, Username, Password);
|
||||||
|
|
||||||
SystemConfiguration config = Database.DiscoConfiguration;
|
SystemConfiguration config = Database.DiscoConfiguration;
|
||||||
config.EmailSmtpServer = SmtpServer;
|
config.EmailSmtpServer = SmtpServer;
|
||||||
config.EmailSmtpPort = SmtpPort.Value;
|
config.EmailSmtpPort = SmtpPort.Value;
|
||||||
config.EmailFromAddress = FromAddress;
|
config.EmailFromAddress = FromAddress;
|
||||||
|
config.EmailReplyToAddress = ReplyToAddress;
|
||||||
config.EmailEnableSsl = EnableSsl;
|
config.EmailEnableSsl = EnableSsl;
|
||||||
config.EmailUsername = Username;
|
config.EmailUsername = Username;
|
||||||
config.EmailPassword = Password;
|
config.EmailPassword = Password;
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ namespace Disco.Web.Areas.Config.Models.SystemConfig
|
|||||||
public string EmailSmtpServer { get; set; }
|
public string EmailSmtpServer { get; set; }
|
||||||
public int EmailSmtpPort { get; set; }
|
public int EmailSmtpPort { get; set; }
|
||||||
public string EmailFromAddress { get; set; }
|
public string EmailFromAddress { get; set; }
|
||||||
|
public string EmailReplyToAddress { get; set; }
|
||||||
[Display(Name = "Enable SSL")]
|
[Display(Name = "Enable SSL")]
|
||||||
public bool EmailEnableSsl { get; set; }
|
public bool EmailEnableSsl { get; set; }
|
||||||
public string EmailUsername { get; set; }
|
public string EmailUsername { get; set; }
|
||||||
@@ -130,6 +131,7 @@ namespace Disco.Web.Areas.Config.Models.SystemConfig
|
|||||||
EmailSmtpServer = config.EmailSmtpServer,
|
EmailSmtpServer = config.EmailSmtpServer,
|
||||||
EmailSmtpPort = config.EmailSmtpPort,
|
EmailSmtpPort = config.EmailSmtpPort,
|
||||||
EmailFromAddress = config.EmailFromAddress,
|
EmailFromAddress = config.EmailFromAddress,
|
||||||
|
EmailReplyToAddress = config.EmailReplyToAddress,
|
||||||
EmailEnableSsl = config.EmailEnableSsl,
|
EmailEnableSsl = config.EmailEnableSsl,
|
||||||
EmailUsername = config.EmailUsername,
|
EmailUsername = config.EmailUsername,
|
||||||
EmailPassword = config.EmailPassword,
|
EmailPassword = config.EmailPassword,
|
||||||
|
|||||||
@@ -696,6 +696,15 @@ else
|
|||||||
@Html.ValidationMessageFor(m => m.EmailFromAddress)
|
@Html.ValidationMessageFor(m => m.EmailFromAddress)
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 135px">
|
||||||
|
Reply To Address:
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
@Html.EditorFor(m => m.EmailReplyToAddress)<br />
|
||||||
|
@Html.ValidationMessageFor(m => m.EmailReplyToAddress)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 135px">
|
<th style="width: 135px">
|
||||||
|
|
||||||
@@ -848,6 +857,14 @@ else
|
|||||||
@Html.DisplayFor(m => m.EmailFromAddress)
|
@Html.DisplayFor(m => m.EmailFromAddress)
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 135px">
|
||||||
|
Reply To Address:
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
@Html.DisplayFor(m => m.EmailReplyToAddress)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 135px">
|
<th style="width: 135px">
|
||||||
Enable SSL:
|
Enable SSL:
|
||||||
|
|||||||
@@ -1982,12 +1982,40 @@ WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>
|
|||||||
|
|
||||||
WriteLiteral(" style=\"width: 135px\"");
|
WriteLiteral(" style=\"width: 135px\"");
|
||||||
|
|
||||||
WriteLiteral(">\r\n \r\n </th>\r\n <td>\r\n");
|
WriteLiteral(">\r\n Reply To Address:\r\n </th>\r\n " +
|
||||||
|
"<td>\r\n");
|
||||||
|
|
||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 704 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 704 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
Write(Html.EditorFor(m => m.EmailReplyToAddress));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("<br />\r\n");
|
||||||
|
|
||||||
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
|
#line 705 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
Write(Html.ValidationMessageFor(m => m.EmailReplyToAddress));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||||
|
"");
|
||||||
|
|
||||||
|
WriteLiteral(" style=\"width: 135px\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n \r\n </th>\r\n <td>\r\n");
|
||||||
|
|
||||||
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
|
#line 713 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.CheckBoxFor(m => m.EmailEnableSsl));
|
Write(Html.CheckBoxFor(m => m.EmailEnableSsl));
|
||||||
|
|
||||||
|
|
||||||
@@ -1996,7 +2024,7 @@ WriteLiteral(" ");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 704 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 713 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.LabelFor(m => m.EmailEnableSsl));
|
Write(Html.LabelFor(m => m.EmailEnableSsl));
|
||||||
|
|
||||||
|
|
||||||
@@ -2012,7 +2040,7 @@ WriteLiteral(">\r\n Username:\r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 712 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 721 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.EditorFor(m => m.EmailUsername));
|
Write(Html.EditorFor(m => m.EmailUsername));
|
||||||
|
|
||||||
|
|
||||||
@@ -2023,7 +2051,7 @@ WriteLiteral("<br />\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 713 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 722 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.ValidationMessageFor(m => m.EmailUsername));
|
Write(Html.ValidationMessageFor(m => m.EmailUsername));
|
||||||
|
|
||||||
|
|
||||||
@@ -2039,7 +2067,7 @@ WriteLiteral(">\r\n Password:\r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 721 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 730 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.EditorFor(m => m.EmailPassword));
|
Write(Html.EditorFor(m => m.EmailPassword));
|
||||||
|
|
||||||
|
|
||||||
@@ -2050,7 +2078,7 @@ WriteLiteral("<br />\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 722 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 731 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.ValidationMessageFor(m => m.EmailPassword));
|
Write(Html.ValidationMessageFor(m => m.EmailPassword));
|
||||||
|
|
||||||
|
|
||||||
@@ -2066,7 +2094,7 @@ WriteLiteral(">\r\n \r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 730 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 739 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.AntiForgeryToken());
|
Write(Html.AntiForgeryToken());
|
||||||
|
|
||||||
|
|
||||||
@@ -2083,7 +2111,7 @@ WriteLiteral(" class=\"button small\"");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 731 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 740 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Model.EmailIsConfigured ? null : "disabled");
|
Write(Model.EmailIsConfigured ? null : "disabled");
|
||||||
|
|
||||||
|
|
||||||
@@ -2100,7 +2128,7 @@ WriteLiteral(" class=\"button small\"");
|
|||||||
WriteLiteral(">Save Email Settings</button>");
|
WriteLiteral(">Save Email Settings</button>");
|
||||||
|
|
||||||
|
|
||||||
#line 732 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 741 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(AjaxHelpers.AjaxLoader());
|
Write(AjaxHelpers.AjaxLoader());
|
||||||
|
|
||||||
|
|
||||||
@@ -2121,13 +2149,13 @@ WriteLiteral(" class=\"fa fa-envelope information\"");
|
|||||||
WriteLiteral("></i> Recipient Email Address:</h4>\r\n <br />\r\n");
|
WriteLiteral("></i> Recipient Email Address:</h4>\r\n <br />\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 736 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 745 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 736 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 745 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
using (Html.BeginForm(MVC.API.System.SendTestEmail(), FormMethod.Post))
|
using (Html.BeginForm(MVC.API.System.SendTestEmail(), FormMethod.Post))
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -2152,33 +2180,33 @@ WriteLiteral(" name=\"Recipient\"");
|
|||||||
|
|
||||||
WriteLiteral(" type=\"text\"");
|
WriteLiteral(" type=\"text\"");
|
||||||
|
|
||||||
WriteAttribute("value", Tuple.Create(" value=\"", 34321), Tuple.Create("\"", 34354)
|
WriteAttribute("value", Tuple.Create(" value=\"", 34655), Tuple.Create("\"", 34688)
|
||||||
|
|
||||||
#line 739 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 748 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 34329), Tuple.Create<System.Object, System.Int32>(CurrentUser.EmailAddress
|
, Tuple.Create(Tuple.Create("", 34663), Tuple.Create<System.Object, System.Int32>(CurrentUser.EmailAddress
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 34329), false)
|
, 34663), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral(" />\r\n");
|
WriteLiteral(" />\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 740 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 749 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 740 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 749 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.AntiForgeryToken());
|
Write(Html.AntiForgeryToken());
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 740 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 749 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2196,7 +2224,7 @@ WriteLiteral(@" </div>
|
|||||||
var url = '");
|
var url = '");
|
||||||
|
|
||||||
|
|
||||||
#line 750 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 759 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Url.Action(MVC.API.System.UpdateEmailSettings()));
|
Write(Url.Action(MVC.API.System.UpdateEmailSettings()));
|
||||||
|
|
||||||
|
|
||||||
@@ -2258,7 +2286,7 @@ WriteLiteral("\';\r\n var data = {\r\n
|
|||||||
" </tr>\r\n </table>\r\n </div>\r\n");
|
" </tr>\r\n </table>\r\n </div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 821 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 830 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2283,7 +2311,7 @@ WriteLiteral(">\r\n SMTP Server:\r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 832 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 841 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.DisplayFor(m => m.EmailSmtpServer));
|
Write(Html.DisplayFor(m => m.EmailSmtpServer));
|
||||||
|
|
||||||
|
|
||||||
@@ -2299,7 +2327,7 @@ WriteLiteral(">\r\n Port:\r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 840 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 849 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.DisplayFor(m => m.EmailSmtpPort));
|
Write(Html.DisplayFor(m => m.EmailSmtpPort));
|
||||||
|
|
||||||
|
|
||||||
@@ -2316,7 +2344,7 @@ WriteLiteral(">\r\n Default From Address:\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 848 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 857 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.DisplayFor(m => m.EmailFromAddress));
|
Write(Html.DisplayFor(m => m.EmailFromAddress));
|
||||||
|
|
||||||
|
|
||||||
@@ -2327,13 +2355,30 @@ WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>
|
|||||||
|
|
||||||
WriteLiteral(" style=\"width: 135px\"");
|
WriteLiteral(" style=\"width: 135px\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n Reply To Address:\r\n </th>\r\n " +
|
||||||
|
"<td>\r\n");
|
||||||
|
|
||||||
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
|
#line 865 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
|
Write(Html.DisplayFor(m => m.EmailReplyToAddress));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||||
|
"");
|
||||||
|
|
||||||
|
WriteLiteral(" style=\"width: 135px\"");
|
||||||
|
|
||||||
WriteLiteral(">\r\n Enable SSL:\r\n </th>\r\n <td>\r\n" +
|
WriteLiteral(">\r\n Enable SSL:\r\n </th>\r\n <td>\r\n" +
|
||||||
"");
|
"");
|
||||||
|
|
||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 856 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 873 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.CheckBoxFor(m => m.EmailEnableSsl, new { disabled = "disabled" }));
|
Write(Html.CheckBoxFor(m => m.EmailEnableSsl, new { disabled = "disabled" }));
|
||||||
|
|
||||||
|
|
||||||
@@ -2342,7 +2387,7 @@ WriteLiteral(" ");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 856 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 873 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.LabelFor(m => m.EmailEnableSsl));
|
Write(Html.LabelFor(m => m.EmailEnableSsl));
|
||||||
|
|
||||||
|
|
||||||
@@ -2358,7 +2403,7 @@ WriteLiteral(">\r\n Username:\r\n </th>\r\n
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 864 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 881 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.DisplayFor(m => m.EmailUsername));
|
Write(Html.DisplayFor(m => m.EmailUsername));
|
||||||
|
|
||||||
|
|
||||||
@@ -2374,7 +2419,7 @@ WriteLiteral(">\r\n Password:\r\n </th>\r\n
|
|||||||
"table>\r\n </div>\r\n");
|
"table>\r\n </div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 877 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 894 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -2389,7 +2434,7 @@ WriteLiteral(">\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 879 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
#line 896 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
|
||||||
Write(Html.ActionLinkButton("Update Device Last Network Logons", MVC.API.System.UpdateLastNetworkLogonDates()));
|
Write(Html.ActionLinkButton("Update Device Last Network Logons", MVC.API.System.UpdateLastNetworkLogonDates()));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -335,6 +335,7 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
public readonly string SmtpServer = "SmtpServer";
|
public readonly string SmtpServer = "SmtpServer";
|
||||||
public readonly string SmtpPort = "SmtpPort";
|
public readonly string SmtpPort = "SmtpPort";
|
||||||
public readonly string FromAddress = "FromAddress";
|
public readonly string FromAddress = "FromAddress";
|
||||||
|
public readonly string ReplyToAddress = "ReplyToAddress";
|
||||||
public readonly string EnableSsl = "EnableSsl";
|
public readonly string EnableSsl = "EnableSsl";
|
||||||
public readonly string Username = "Username";
|
public readonly string Username = "Username";
|
||||||
public readonly string Password = "Password";
|
public readonly string Password = "Password";
|
||||||
@@ -608,20 +609,21 @@ namespace Disco.Web.Areas.API.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
partial void UpdateEmailSettingsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string SmtpServer, int? SmtpPort, string FromAddress, bool EnableSsl, string Username, string Password, bool redirect);
|
partial void UpdateEmailSettingsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string SmtpServer, int? SmtpPort, string FromAddress, string ReplyToAddress, bool EnableSsl, string Username, string Password, bool redirect);
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
public override System.Web.Mvc.ActionResult UpdateEmailSettings(string SmtpServer, int? SmtpPort, string FromAddress, bool EnableSsl, string Username, string Password, bool redirect)
|
public override System.Web.Mvc.ActionResult UpdateEmailSettings(string SmtpServer, int? SmtpPort, string FromAddress, string ReplyToAddress, bool EnableSsl, string Username, string Password, bool redirect)
|
||||||
{
|
{
|
||||||
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateEmailSettings);
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateEmailSettings);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SmtpServer", SmtpServer);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SmtpServer", SmtpServer);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SmtpPort", SmtpPort);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "SmtpPort", SmtpPort);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "FromAddress", FromAddress);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "FromAddress", FromAddress);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "ReplyToAddress", ReplyToAddress);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "EnableSsl", EnableSsl);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "EnableSsl", EnableSsl);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Username", Username);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Username", Username);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Password", Password);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Password", Password);
|
||||||
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
|
||||||
UpdateEmailSettingsOverride(callInfo, SmtpServer, SmtpPort, FromAddress, EnableSsl, Username, Password, redirect);
|
UpdateEmailSettingsOverride(callInfo, SmtpServer, SmtpPort, FromAddress, ReplyToAddress, EnableSsl, Username, Password, redirect);
|
||||||
return callInfo;
|
return callInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user