Beispiel #1
0
        public void Send(IList <string> tos, string subject, string body, Encoding subjectEncoding, Encoding bodyEncoding, bool isHtmlBody, string attachmentPath)
        {
            var packageId = GeneratorPackgeId.GetPakcageId();

            EmitterPackageData data = new EmitterPackageData(packageId, tos, subject, body);

            data.SubjectEncoding = subjectEncoding;

            data.BodyEncoding = bodyEncoding;

            data.IsBodyHtml = isHtmlBody;

            data.AttachmentPath = attachmentPath;

            this._dataQueue.Enqueue(data);
        }
        public void Send(IList <string> tos, string subject, string body, Encoding subjectEncoding, Encoding bodyEncoding, bool isHtmlBody, string attachmentPath)
        {
            if (InterceptorEmitter != null)
            {
                var record = new CommInterceptorRecord(this.TagName);

                record.Count = tos.Count;

                var isSuccess = InterceptorEmitter.IsInterceptor(record);

                if (!isSuccess)
                {
                    //将当前服务停止
                    //再次触发重发事件
                    this.Stop();
                    if (OnSendComplete != null)
                    {
                        OnSendComplete.Invoke(this, new SendResultEventArgs(this.TagName, tos, subject, GeneratorPackgeId.GetPakcageId(), body, bodyEncoding, subjectEncoding, isHtmlBody, "", SendResult.Ohter, ""));
                    }
                    return;
                }
            }

            _emailEmitter.Send(tos, subject, body, subjectEncoding, bodyEncoding, isHtmlBody, attachmentPath);
        }