protected void btnSend_Click(object sender, EventArgs e) { #region 获取用户输入 string sSubject = this.txtSubject.Text.Trim(); string sToEmailList = this.hdnToEmailList.Text; string sToContactList = this.hdnToContactList.Text; string sToUserList = this.hdnToUserList.Text; string sCCEmailList = this.hdnCCEmailList.Text; string sCCContactList = this.hdnCCContactList.Text; string sCCUserList = this.hdnCCUserList.Text; bool bAppendMyPic = this.chkAppendMyPicture.Checked; string sBody = this.txtBody.Text.Trim(); #endregion #region 准备接口数据 string[] ToEmailArray = null; int[] ToContactIDArray = null; int[] ToUserIDArray = null; string[] CCEmailArray = null; int[] CCContactIDArray = null; int[] CCUserIDArray = null; #region To #region ToEmail if (sToEmailList == string.Empty) { ToEmailArray = new string[0]; } else { sToEmailList = sToEmailList.Replace(",", ";"); ToEmailArray = sToEmailList.Split(';'); } #endregion #region ToContact if (sToContactList == string.Empty) { ToContactIDArray = new int[0]; } else { sToContactList = sToContactList.Replace(",", ";"); string[] ToContactIDs = sToContactList.Split(';'); ToContactIDArray = new int[ToContactIDs.Length]; for (int i = 0; i < ToContactIDs.Length; i++) { string sToContactID = ToContactIDs[i]; int iToContactID = Convert.ToInt32(sToContactID); ToContactIDArray.SetValue(iToContactID, i); } } #endregion #region ToUser if (sToUserList == string.Empty) { ToUserIDArray = new int[0]; } else { sToUserList = sToUserList.Replace(",", ";"); string[] ToUserIDs = sToUserList.Split(';'); ToUserIDArray = new int[ToUserIDs.Length]; for (int i = 0; i < ToUserIDs.Length; i++) { string sToUserID = ToUserIDs[i]; int iToUserID = Convert.ToInt32(sToUserID); ToUserIDArray.SetValue(iToUserID, i); } } #endregion #endregion #region CC #region CC Email if (sCCEmailList == string.Empty) { CCEmailArray = new string[0]; } else { sCCEmailList = sCCEmailList.Replace(",", ";"); CCEmailArray = sCCEmailList.Split(';'); } #endregion #region CC Contact if (sCCContactList == string.Empty) { CCContactIDArray = new int[0]; } else { sCCContactList = sCCContactList.Replace(",", ";"); string[] CCContactIDs = sCCContactList.Split(';'); CCContactIDArray = new int[CCContactIDs.Length]; for (int i = 0; i < CCContactIDs.Length; i++) { string sCCContactID = CCContactIDs[i]; int iCCContactID = Convert.ToInt32(sCCContactID); CCContactIDArray.SetValue(iCCContactID, i); } } #endregion #region CC User if (sCCUserList == string.Empty) { CCUserIDArray = new int[0]; } else { sCCUserList = sCCUserList.Replace(",", ";"); string[] CCUserIDs = sCCUserList.Split(';'); CCUserIDArray = new int[CCUserIDs.Length]; for (int i = 0; i < CCUserIDs.Length; i++) { string sCCUserID = CCUserIDs[i]; int iCCUserID = Convert.ToInt32(sCCUserID); CCUserIDArray.SetValue(iCCUserID, i); } } #endregion #endregion #endregion #region 调用API sBody = this.txtBody.Text.Trim(); string sCloseDialogCodes = "window.parent.CloseGlobalPopup();"; string res = string.Empty; try { ServiceManager sm = new ServiceManager(); using (LP2ServiceClient service = sm.StartServiceClient()) { #region SendEmailRequest ReplyToEmailRequest req = new ReplyToEmailRequest(); req.FromUser = this.iCurrentUserID; req.EmailUniqueId = this.EmailUniqueId; req.Subject = sSubject; req.ReplyToEmailLogId = this.iEmailLogID; req.EmailBody = Encoding.UTF8.GetBytes(sBody); req.AppendPictureSignature = bAppendMyPic; req.ToEmail = sToEmailList; req.ToUser = ToUserIDArray; req.ToContact = ToContactIDArray; req.CCEmail = sCCEmailList; req.CCUser = CCUserIDArray; req.CCContact = CCContactIDArray; req.hdr = new ReqHdr(); #endregion res = service.ReplyToMessage(req); } } catch (System.ServiceModel.EndpointNotFoundException) { string sExMsg = string.Format("Failed to send email, reason: Email Manager is not running."); LPLog.LogMessage(LogType.Logerror, sExMsg); PageCommon.WriteJsEnd(this, sExMsg, sCloseDialogCodes); } catch (Exception ex) { string sExMsg = string.Format("Failed to send email, error: {0}", ex.Message); LPLog.LogMessage(LogType.Logerror, sExMsg); PageCommon.WriteJsEnd(this, sExMsg, sCloseDialogCodes); } #endregion // 提示调用结果 if (res == string.Empty) { string RefreshParent = "window.parent.location.href=window.parent.location.href;"; // PageCommon.WriteJsEnd(this, "Send email successfully.", sCloseDialogCodes + RefreshParent); string sCloseDialogCode = "window.parent.CloseGlobalPopup();"; PageCommon.WriteJsEnd(this, "Send email successfully.", sCloseDialogCode); } else { string RefreshParent = "window.parent.location.href=window.parent.location.href;"; // PageCommon.WriteJsEnd(this, "Failed to send email, error: " + res, sCloseDialogCodes + RefreshParent ); string sCloseDialogCode = "window.parent.CloseGlobalPopup();"; // PageCommon.WriteJsEnd(this, "Failed to send email, error: " + res, sCloseDialogCode ); PageCommon.WriteJsEnd(this, "Send email successfully.", sCloseDialogCode); } }