Merge branch 'DotNetCore' of https://github.com/tidusjar/Ombi into DotNetCore

pull/1614/head
tidusjar 7 years ago
commit 1a44cf596c

@ -32,7 +32,7 @@ namespace Ombi.Api.Radarr.Models
public List<object> tags { get; set; } public List<object> tags { get; set; }
public string added { get; set; } public string added { get; set; }
public Ratings ratings { get; set; } public Ratings ratings { get; set; }
public List<string> alternativeTitles { get; set; } //public List<string> alternativeTitles { get; set; }
public int qualityProfileId { get; set; } public int qualityProfileId { get; set; }
public int id { get; set; } public int id { get; set; }
} }

@ -47,9 +47,29 @@ namespace Ombi.Notifications
message.From.Add(new MailboxAddress(settings.SenderAddress, settings.SenderAddress)); message.From.Add(new MailboxAddress(settings.SenderAddress, settings.SenderAddress));
message.To.Add(new MailboxAddress(model.To, model.To)); message.To.Add(new MailboxAddress(model.To, model.To));
using (var client = new SmtpClient()) using (var client = new SmtpClient())
{
if (settings.DisableCertificateChecking)
{
// Disable validation of the certificate associated with the SMTP service
// Helpful when the TLS certificate is not in the certificate store of the server
// Does carry the risk of man in the middle snooping
client.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
}
if (settings.DisableTLS)
{
// Does not attempt to use either TLS or SSL
// Helpful when MailKit finds a TLS certificate, but it unable to use it
client.Connect(settings.Host, settings.Port, MailKit.Security.SecureSocketOptions.None);
}
else
{ {
client.Connect(settings.Host, settings.Port); // Let MailKit figure out the correct SecureSocketOptions. client.Connect(settings.Host, settings.Port); // Let MailKit figure out the correct SecureSocketOptions.
}
// Note: since we don't have an OAuth2 token, disable // Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism. // the XOAUTH2 authentication mechanism.
@ -91,8 +111,20 @@ namespace Ombi.Notifications
message.To.Add(new MailboxAddress(model.To, model.To)); message.To.Add(new MailboxAddress(model.To, model.To));
using (var client = new SmtpClient()) using (var client = new SmtpClient())
{
if (settings.DisableCertificateChecking)
{
client.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
}
if (settings.DisableTLS)
{
client.Connect(settings.Host, settings.Port, MailKit.Security.SecureSocketOptions.None);
}
else
{ {
client.Connect(settings.Host, settings.Port); // Let MailKit figure out the correct SecureSocketOptions. client.Connect(settings.Host, settings.Port); // Let MailKit figure out the correct SecureSocketOptions.
}
// Note: since we don't have an OAuth2 token, disable // Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism. // the XOAUTH2 authentication mechanism.

@ -11,5 +11,7 @@
public string Username { get; set; } public string Username { get; set; }
public bool Authentication { get; set; } public bool Authentication { get; set; }
public string AdminEmail { get; set; } public string AdminEmail { get; set; }
public bool DisableTLS { get; set; }
public bool DisableCertificateChecking { get; set; }
} }
} }

@ -13,6 +13,8 @@ export interface IEmailNotificationSettings extends INotificationSettings {
username: string; username: string;
authentication: boolean; authentication: boolean;
adminEmail: string; adminEmail: string;
disableTLS: boolean;
disableCertificateChecking: boolean;
notificationTemplates: INotificationTemplates[]; notificationTemplates: INotificationTemplates[];
} }

@ -18,6 +18,18 @@
<input type="checkbox" id="Authentication" formControlName="authentication"><label for="Authentication">Enable SMTP Authentication</label> <input type="checkbox" id="Authentication" formControlName="authentication"><label for="Authentication">Enable SMTP Authentication</label>
</div> </div>
</div> </div>
<div class="form-group">
<div class="checkbox">
<input type="checkbox" id="disableTLS" formControlName="disableTLS"><label for="disableTLS">Disable TLS/SSL</label>
</div>
</div>
<div class="form-group">
<div class="checkbox">
<input type="checkbox" id="disableCertificateChecking" formControlName="disableCertificateChecking"><label for="disableCertificateChecking">Disable Certificate Checking</label>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label for="host" class="control-label">SMTP Host</label> <label for="host" class="control-label">SMTP Host</label>

@ -35,6 +35,8 @@ export class EmailNotificationComponent implements OnInit {
senderName: [x.senderName], senderName: [x.senderName],
username: [x.username], username: [x.username],
adminEmail: [x.adminEmail, [Validators.required, Validators.email]], adminEmail: [x.adminEmail, [Validators.required, Validators.email]],
disableTLS: [x.disableTLS],
disableCertificateChecking: [x.disableCertificateChecking],
}); });
if (x.authentication) { if (x.authentication) {

@ -41,7 +41,7 @@
<div *ngIf="form.get('emailAddress').hasError('email')">Email address format is incorrect</div> <div *ngIf="form.get('emailAddress').hasError('email')">Email address format is incorrect</div>
<div *ngIf="form.get('password').hasError('required')">The Password is required</div> <div *ngIf="form.get('password').hasError('required')">The Password is required</div>
<div *ngIf="form.get('confirmNewPassword').hasError('required')">The Confirm New Password is required</div> <div *ngIf="form.get('confirmNewPassword').hasError('required')">The Confirm New Password is required</div>
<div *ngIf="form.get('currentPassword').hasError('required')">Your current passowrd is required</div> <div *ngIf="form.get('currentPassword').hasError('required')">Your current password is required</div>
</div> </div>
</div> </div>
</div> </div>
Loading…
Cancel
Save