/// <summary> /// Send single sms /// </summary> /// <param name="databaseName">database Name</param> /// <param name="pid">primary key</param> /// <param name="fromName">sender</param> /// <param name="emailFrom">emailFrom</param> /// <param name="emailTo">emailTo</param> /// <param name="emailSubject">emailSubject</param> /// <param name="emailBody">emailBody</param> /// <returns></returns> public String sendSingleSms(String databaseName, String pid, String fromName, String smsTo, String message, String alternativeMessage) { logger.Debug("************send Single Mail***************"); String result = OK_RESULT; try { if (String.IsNullOrEmpty(databaseName)) { return "No database Name"; } if (String.IsNullOrEmpty(pid)) { return "No primary key"; } if (String.IsNullOrEmpty(smsTo)) { return "No to Address"; } ContactDatabaseAction contactDatabaseAction = new ContactDatabaseAction(client, userName, password, oWebProxy); String contactDatabaseId = contactDatabaseAction.createContactDatabase(databaseName); WorkspaceAction workspaceAction = new WorkspaceAction(client, userName, password, oWebProxy); String workspaceId = workspaceAction.createWorkspace(contactDatabaseId, databaseName); ContactDatabaseFieldAction contactDatabaseFieldAction = new ContactDatabaseFieldAction(client, userName, password, oWebProxy); Hashtable ht = contactDatabaseFieldAction.getContactDatabaseFields(contactDatabaseId); String toEmailFieldId; //Properties.Settings.Default.toEmailFieldId;// "MTExMzYxMTEfCGWCBaFKyA"; if (ht[EMAIL] != null) { toEmailFieldId = ht[EMAIL].ToString(); } else { return "Database:" + databaseName + " is not exist"; } String sequence = DateTime.Now.ToString("yyyyMMddhhmmss"); // ContactGroupAction contactGroupAction = new ContactGroupAction(client, userName, password); //String contactGroupId = contactGroupAction.createContactGroup(contactDatabaseId, emailId, emailId); ContactAction contactAction = new ContactAction(client, userName, password, oWebProxy); ArrayList list = new ArrayList(); String jsonStr = PID + "#" + pid + "," + EMAIL + "#" + "" + "," + "Mobile" + "#" + smsTo; list.Add(jsonStr); String contactId = contactAction.createContact(contactDatabaseId, list); SmsTypeAction smsTypeAction = new SmsTypeAction(client, userName, password, oWebProxy); String smsTypeId = smsTypeAction.createSmsType(workspaceId, "SMS Type for " + databaseName, "sms_type_" + databaseName, fromName, toEmailFieldId); // SmsMessageAction smsMessageAction = new SmsMessageAction(client, userName, password); // String directEmailId = directEmailAction.createDirectEmail(directEmailId, "IPSOS SMS" + sequence, "ipsos_mail" + sequence, emailSubject, "Send mail by IPSOS", fromName, emailFrom, emailBody); // PublishingAction publishingAction = new PublishingAction(client, userName, password); // String publishId = publishingAction.publishTransactionalEmail(contactId, directEmailId); // logger.Debug("publishId=" + publishId); } catch (Exception ex) { result = ex.Message; logger.Debug("error happen in send mail, error is " + result); // return ex.Message; } logger.Debug("************end sendMail ************"); return result; }
/// <summary> /// Send single mail /// </summary> /// <param name="databaseName">database Name</param> /// <param name="pid">Primary Key</param> /// <param name="fromName">sender</param> /// <param name="emailFrom">emailFrom</param> /// <param name="emailTo">emailTo</param> /// <param name="emailSubject">emailSubject</param> /// <param name="emailBody">emailBody</param> /// <returns></returns> public String sendSingleEmail(String databaseName, String pid, String fromName, String emailFrom, String emailTo, String emailSubject, String emailBody) { logger.Debug("************send Single Mail***************"); String result = OK_RESULT; try { if (String.IsNullOrEmpty(databaseName)) { return "No project Name"; } if (String.IsNullOrEmpty(pid)) { return "No primary Id"; } if (String.IsNullOrEmpty(emailFrom)) { return "No from Address"; } if (String.IsNullOrEmpty(emailTo)) { return "No to Address"; } ContactDatabaseAction contactDatabaseAction = new ContactDatabaseAction(client, userName, password, oWebProxy); String contactDatabaseId = contactDatabaseAction.createContactDatabase(databaseName); WorkspaceAction workspaceAction = new WorkspaceAction(client, userName, password, oWebProxy); String workspaceId = workspaceAction.createWorkspace(contactDatabaseId, databaseName); ContactDatabaseFieldAction contactDatabaseFieldAction = new ContactDatabaseFieldAction(client, userName, password, oWebProxy); Hashtable ht = contactDatabaseFieldAction.getContactDatabaseFields(contactDatabaseId); String toEmailFieldId; //Properties.Settings.Default.toEmailFieldId;// "MTExMzYxMTEfCGWCBaFKyA"; if (ht[EMAIL] != null) { toEmailFieldId = ht[EMAIL].ToString(); } else { return "Database:" + databaseName + " is not exist"; } const string pattern = "\\{.+?\\}"; List<string> tempList = Regex.Matches(emailBody, pattern).Cast<Match>().Select(a => a.Value).ToList(); foreach (string str in tempList) { emailBody = emailBody.Replace(str, str.ToLower()); } //查找<A的html标记,如果里面没有title属性,则增加这个属性. emailBody = Util.addTitleInAFlagHtml(emailBody); String sequence = DateTime.Now.ToString("yyyyMMddhhmmss"); // ContactGroupAction contactGroupAction = new ContactGroupAction(client, userName, password); //String contactGroupId = contactGroupAction.createContactGroup(contactDatabaseId, emailId, emailId); ContactAction contactAction = new ContactAction(client, userName, password, oWebProxy); ArrayList list = new ArrayList(); String jsonStr = PID + "#" + pid + "," + EMAIL + "#" + emailTo; list.Add(jsonStr); String contactId = contactAction.createContact(contactDatabaseId, list); DirectEmailTypeAction directEmailTypeAction = new DirectEmailTypeAction(client, userName, password, oWebProxy); String directEmailTypeId = directEmailTypeAction.createDirectEmailType(workspaceId, "Email Type for " + databaseName, "mail_type_" + databaseName, emailFrom, fromName, toEmailFieldId); DirectEmailAction directEmailAction = new DirectEmailAction(client, userName, password, oWebProxy); String directEmailId = directEmailAction.createDirectEmail(directEmailTypeId, "Mail" + sequence, "mail" + sequence, emailSubject, "Send mail", fromName, emailFrom, emailBody); PublishingAction publishingAction = new PublishingAction(client, userName, password, oWebProxy); String publishId = publishingAction.publishTransactionalEmail(contactId, directEmailId,DateTime.Now); logger.Debug("publishId=" + publishId); } catch (Exception ex) { result = ex.Message; logger.Debug("error happen in send mail, error is " + result); // return ex.Message; } logger.Debug("************end sendMail ************"); return result; }
/// <summary> /// Send single mail /// </summary> /// <param name="databaseName">database Name</param> /// <param name="pid">Primary Key</param> /// <param name="fromName">sender</param> /// <param name="emailFrom">emailFrom</param> /// <param name="emailTo">emailTo</param> /// <param name="emailSubject">emailSubject</param> /// <param name="emailBody">emailBody</param> /// <returns></returns> public String sendSingleEmail(String contactDatabaseId, String workspaceId, String directEmailTypeId,String emailId, String fromName, String emailFrom, String emailTo,String agent_no, String emailSubject, String emailBody) { logger.Debug("************send Single Mail***************"); String result = OK_RESULT; try { if (String.IsNullOrEmpty(emailFrom)) { return "No from Address"; } if (String.IsNullOrEmpty(emailTo)) { return "No to Address"; } const string pattern = "\\{.+?\\}"; List<string> tempList = Regex.Matches(emailBody, pattern).Cast<Match>().Select(a => a.Value).ToList(); foreach (string str in tempList) { emailBody = emailBody.Replace(str, str.ToLower()); } //查找<A的html标记,如果里面没有title属性,则增加这个属性. emailBody = Util.addTitleInAFlagHtml(emailBody); String sequence = DateTime.Now.ToString("yyyyMMddhhmmss"); // ContactGroupAction contactGroupAction = new ContactGroupAction(client, userName, password); //String contactGroupId = contactGroupAction.createContactGroup(contactDatabaseId, emailId, emailId); ContactAction contactAction = new ContactAction(client, userName, password, oWebProxy); ArrayList list = new ArrayList(); String jsonStr = EMAIL + "#" + emailTo + ",agent_no#" + agent_no; list.Add(jsonStr); String contactId = contactAction.createContact(contactDatabaseId, list); String directEmailId = emailId; if (String.IsNullOrEmpty(emailId)) { DirectEmailAction directEmailAction = new DirectEmailAction(client, userName, password, oWebProxy); directEmailId = directEmailAction.createDirectEmail(directEmailTypeId, "测试邮件" + sequence, "mail" + sequence, emailSubject, "测试邮件", fromName, emailFrom, emailBody); } PublishingAction publishingAction = new PublishingAction(client, userName, password, oWebProxy); String publishId = publishingAction.publishTransactionalEmail(contactId, directEmailId, DateTime.Now); logger.Debug("publishId=" + publishId); result = "OK:" + publishId; } catch (Exception ex) { result = ex.Message; logger.Debug("error happen in send mail, error is " + result); // return ex.Message; } logger.Debug("************end sendMail ************"); return result; }