我如何验证smtp主机在asp.net MVC

本文关键字:主机 asp net MVC smtp 何验证 验证 | 更新日期: 2023-09-27 18:11:50

我想验证SMTP主机和端口。请让我知道我该怎么做?我想注册smtp.gmail.com或smtp.mail.outlook.com。但是现在我的代码也允许数字。

public int Smtp_Id{ get; set; }
[Display(Name="Mail From")]
[Required(ErrorMessage = "Please enter senders mail address.")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Smtp_mailfrom { get; set; }
[Display(Name = "SMTP Host")]
[Required(ErrorMessage = "Please enter host name.")]     
public string Smtp_Host { get; set; }
[Display(Name = "User Name")]
[Required(ErrorMessage = "Please enter username.")]
[MaxLength(50,ErrorMessage="Username Should not be more than 50 charachters.")]
public string Smtp_username { get; set; }
[Display(Name = "Password")]
[MaxLength(50, ErrorMessage = "Password Should not be more than 50 charachters.")]
[Required(ErrorMessage = "Please enter password.")]
public string Smtp_password { get; set; }
[Display(Name = "SMTP Port")]
[Required(ErrorMessage = "Please enter Port.")]
public int Smtp_Port { get; set; }

我如何验证smtp主机在asp.net MVC

对于主机名,您需要正则表达式,对于端口号,您需要如下所示的自定义内容,这将对您有所帮助。

    [Display(Name = "SMTP Host")]
    [Required(ErrorMessage = "Please enter host name.")]
    [RegularExpression("smtp.gmail.com|smtp-mail.outlook.com")]
    public string Smtp_Host { get; set; }

    [Display(Name = "SMTP Port")]
    [Required(ErrorMessage = "Please enter Port.")]
    [RegularExpression("([1-9][0-9]*)", ErrorMessage = "Count must be a natural number")]
    [Range(1, 9999, ErrorMessage = "Port no must between 1 to 9999")]     
    public int Smtp_Port { get; set; }