public StartupCheckResult Run() { if (this._mailSettings.SkipTest) { return(StartupCheckResult.Success("SkipTest is set - mail check is being skipped.")); } if (this._mailSettings == null || this._mailSettings.Port == 0 || string.IsNullOrEmpty(this._mailSettings.FromAddress)) { return(StartupCheckResult.Success("SMTP settings are not set")); } try { // Using MailKit we can simple connect and authenticate without sending mail using (SmtpClient smtpClient = this.CreateConnectedSmtpClient()) { smtpClient.NoOp(); } } catch (Exception ex) { return(StartupCheckResult.Failure( $"Unable to connect to SMTP server at {this._mailSettings.Host}:{this._mailSettings.Port}", ex)); } return(StartupCheckResult.Success( $"Connected to SMTP server at {this._mailSettings.Host}:{this._mailSettings.Port}")); }
public void NoOp() { _smtpClient.NoOp(); }