/// <summary> ///########## ######### ######### ####### ######### ####.</summary> /// <param name="emailClientType">### ######### #######.</param> /// <returns>######### ######### <see cref="IEmailClient"/>.</returns> public IEmailClient CreateEmailClient(EmailClientType emailClientType, string senderEmailAddress) { IEmailClient emailClient = GetCertainEmailClient(); if (emailClient != null) { return(emailClient); } return(GetEmailClient(emailClientType, senderEmailAddress)); }
public IEmailClient Make(EmailClientType type) { switch (type) { case EmailClientType.Imap: return(new ImapEmailClient()); case EmailClientType.Pop3: return(new Pop3EmailClient()); default: throw new ArgumentException("Email Client not supported"); } }
private IEmailClient GetEmailClient(EmailClientType emailClientType, string senderEmailAddress) { switch (emailClientType) { case EmailClientType.Exchange: return(new ExchangeClient(UserConnection)); case EmailClientType.Smtp: return(base.CreateEmailClient(senderEmailAddress)); default: throw new EmailException("NotEmailType", NotEmailTypeError); } }
/// <summary> ///########## ######### ######### ####### ######### ####.</summary> /// <param name="emailClientType">### ######### #######.</param> /// <returns>######### ######### <see cref="IEmailClient"/>.</returns> public IEmailClient CreateEmailClient(EmailClientType emailClientType) { switch (emailClientType) { case EmailClientType.Exchange: IEmailClient emailClient = GetCertainEmailClient(); if (emailClient != null) { return(emailClient); } return(new ExchangeClient(UserConnection)); case EmailClientType.Smtp: return(new SmtpClient(UserConnection)); default: throw new EmailException("NotEmailType", NotEmailTypeError); } }
/// <summary> /// Returns email client type for specified cridentials.</summary> /// <param name="credentials">Connection parameters.</param> /// <returns><see cref="IEmailClient"/> instance.</returns> public override IEmailClient CreateEmailClient(Credentials credentials) { EmailClientType emailClientType = GetEmailClientType(credentials); switch (emailClientType) { case EmailClientType.Exchange: IEmailClient emailClient = GetCertainEmailClient(credentials); if (emailClient != null) { return(emailClient); } return(new ExchangeClient(UserConnection, credentials)); case EmailClientType.Smtp: return(new SmtpClient(UserConnection, credentials));; default: throw new EmailException("NotEmailType", NotEmailTypeError); } }
/// <summary> /// Returns email client type for specified email.</summary> /// <param name="senderEmailAddress">Sender email.</param> /// <returns><see cref="IEmailClient"/> instance.</returns> /// <param name="ignoreRights">Flag that indicates whether to ignore rights.</param> public override IEmailClient CreateEmailClient(string senderEmailAddress, bool ignoreRights) { EmailClientType emailClientType = GetEmailClientType(senderEmailAddress, ignoreRights); return(CreateEmailClient(emailClientType)); }
/// <summary> /// ### ######### ######### ###### ########## ######### ######### #######.</summary> /// <param name="senderEmailAddress">######## ##### ###########.</param> /// <remarks>### ######### ####### ############ ## ########### ######.</remarks> /// <returns>######### ######### <see cref="IEmailClient"/>.</returns> public override IEmailClient CreateEmailClient(string senderEmailAddress) { EmailClientType emailClientType = GetEmailClientType(senderEmailAddress); return(CreateEmailClient(emailClientType, senderEmailAddress)); }