/// <summary> /// Create a new e-mail envelop based on the given /// e-mail builder data. /// </summary> /// <param name="MailBuilder">An e-mail builder.</param> public EMailEnvelop(AbstractEMailBuilder MailBuilder) { MailBuilder.EncodeBodyparts(); // ToDo: Deep cloning! this._MailFrom = new EMailAddressList(MailBuilder.From); this._RcptTo = new EMailAddressList(MailBuilder.To); this._Mail = new EMail(MailBuilder); }
/// <summary> /// Create a new e-mail bodypart. /// </summary> public EMailBodypart(AbstractEMailBuilder EMailBuilder, IEnumerable<String> Content = null, IEnumerable<EMailBodypart> NestedBodyparts = null) { // Only copy all e-mail headers starting with "content"... base._MailHeaders.AddRange(EMailBuilder.MailHeaders.Where(header => header.Key.ToLower().StartsWith("content"))); this._MailBody.AddRange(Content); this._NestedBodyparts = NestedBodyparts != null ? new List<EMailBodypart>(NestedBodyparts) : (IEnumerable<EMailBodypart>) new EMailBodypart[0]; if (_NestedBodyparts.Count() > 0) this.ContentType.GenerateMIMEBoundary(); }
public Task <MailSentStatus> Send(AbstractEMailBuilder MailBuilder, Byte NumberOfRetries = 3, Boolean AutoStart = true) { return(Send(MailBuilder.AsImmutable, NumberOfRetries)); }
public Task<MailSentStatus> Send(AbstractEMailBuilder MailBuilder, Byte NumberOfRetries = 3, Boolean AutoStart = true) { return Send(MailBuilder.AsImmutable, NumberOfRetries); }
/// <summary> /// Create a new e-mail envelop based on the given sender /// and receiver addresses and the e-mail builder data. /// </summary> /// <param name="MailFrom">The sender(s) of the e-mail.</param> /// <param name="RcptTo">The receiver(s) of the e-mail.</param> /// <param name="MailBuilder">An e-mail builder.</param> /// <param name="RemoteSocket">The remote socket of the incoming SMTP connection.</param> public EMailEnvelop(EMailAddressList MailFrom, EMailAddressList RcptTo, AbstractEMailBuilder MailBuilder, IPSocket RemoteSocket = null) { this._RemoteSocket = RemoteSocket; this._MailFrom = MailFrom; this._RcptTo = RcptTo; this._Mail = new EMail(MailBuilder); }
/// <summary> /// Create a new e-mail based on the given e-mail builder. /// </summary> /// <param name="MailBuilder">An e-mail builder.</param> public EMail(AbstractEMailBuilder MailBuilder) : this(MailBuilder. EncodeBodyparts(). // Copy only everything which is not related to the e-mail body! MailHeaders.Where(header => !header.Key.ToLower().StartsWith("content")). Concat(MailBuilder.Body.MailHeaders)) { //ToDo: Do a real deep-copy here! Body = MailBuilder.Body; //ToDo: Work-aroung for PGP/GPG! this.From = MailBuilder.From; this.To = MailBuilder.To; this.Cc = MailBuilder.Cc; }