public static int ListsUnsubscribe(SqlString apikey, SqlString list_id, SqlString email, SqlString euid, SqlString leid, SqlBoolean delete_member, SqlBoolean send_goodbye, SqlBoolean send_notify) { try { MailChimpManager mc = new MailChimpManager(apikey.ToString()); EmailParameter emailParam = new EmailParameter { Email = email.ToString(), EUId = euid.ToString(), LEId = leid.ToString() }; UnsubscribeResult result = mc.Unsubscribe(list_id.ToString(), emailParam, delete_member.IsTrue, send_goodbye.IsTrue, send_notify.IsTrue); SqlDataRecord record = new SqlDataRecord(CompleteResultsMetaData); record.SetBoolean(0, result.Complete); SqlContext.Pipe.Send(record); } catch (Exception ex) { SqlContext.Pipe.Send(ex.Message); return(1); } return(0); }
public static int ListsSubscribe(SqlString apikey, SqlString list_id, SqlString email, SqlString euid, SqlString leid, SqlString email_type, SqlBoolean double_optin, SqlBoolean update_existing, SqlBoolean send_welcome) { try { MailChimpManager mc = new MailChimpManager(apikey.ToString()); EmailParameter emailParam = new EmailParameter { Email = email.ToString(), EUId = euid.ToString(), LEId = leid.ToString() }; EmailParameter result = mc.Subscribe(list_id.ToString(), emailParam, null, email_type.ToString(), double_optin.IsTrue, update_existing.IsTrue, true, send_welcome.IsTrue); SqlDataRecord record = new SqlDataRecord(EmailParameterResultsMetaData); record.SetString(0, result.Email); record.SetString(1, result.EUId); record.SetString(2, result.LEId); SqlContext.Pipe.Send(record); } catch (Exception ex) { SqlContext.Pipe.Send(ex.Message); return(1); } return(0); }
public bool GetSubscriptionStatus(string email, int domainID) { tbl_Domains domain = DomainsRepository.GetByID(domainID); if (domain == null || !domain.DO_EnableMailChimp) { return(false); } MailChimpManager manager = new MailChimpManager(domain.DO_MailChimpAPIKey); EmailParameter emailParam = new EmailParameter() { Email = email }; try { var val = manager.GetListsForEmail(emailParam); return(val != null && val.Count > 0 ? true : false); } catch (MailChimpAPIException e) { Log.Error(String.Format("MailChimp Status: Subscription exception: \"{0}\" ,for \"{1}\"", e.MailChimpAPIError.Name, email), e); } return(false); }
public void UpdateMember_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; var listId = lists.Data[0].Id; MyMergeVar mergeVar = new MyMergeVar(); EmailParameter subscriptionResults = mc.Subscribe(listId, email, mergeVar, "html", false, true); // Act mergeVar.FirstName = "some name"; mc.UpdateMember(listId, subscriptionResults, mergeVar); // load List <EmailParameter> emails = new List <EmailParameter>(); emails.Add(email); MemberInfoResult memberInfos = mc.GetMemberInfo(listId, emails); // Assert Assert.IsTrue(memberInfos.Data[0].MemberMergeInfo.ContainsKey("FNAME")); Assert.AreEqual("some name", memberInfos.Data[0].MemberMergeInfo["FNAME"]); }
/* * Copy Of Dealers Invited To My.Paoli.Com (Dev-Test) * Dealer List (Test) * Sales Rep List (Test) */ private static void AddEmailAddress(string emailAddress, string listConfig, Dictionary <string, string> map) { var lists = ConfigurationManager.AppSettings[listConfig].ToString(); if (string.IsNullOrEmpty(lists)) { return; } try { MailChimpManager mc = new MailChimpManager(ConfigurationManager.AppSettings["MailChimpApiKey"]); // Create the email parameter EmailParameter email = new EmailParameter() { Email = emailAddress }; var details = new MergeVar(); foreach (var item in map) { details.Add(item.Key, item.Value); } foreach (var listId in lists.Split(',').Select(s => s.Trim())) { EmailParameter results = mc.Subscribe(listId, email, doubleOptIn: false, mergeVars: details); } } catch { } }
public static void SubscribeEmailAddress(string strEmail, string strPostCode, string strListId) { MailChimpManager mc = new MailChimpManager(ConfigurationManagerHelper.AppSettings["MailChimpAPIKey"].ToString()); EmailParameter email = new EmailParameter() { Email = strEmail }; var fields = new Dictionary <string, string> { { "PCODE", strPostCode } }; //Do not use for setting the any value it will update all the records // mc.SetMergeVar(strListId, "PCODE", strPostCode); // var response = mailChimpApiService.Subscribe("*****@*****.**", new List() { subscribeSources, couponsGained, interests }, fields, true); // EmailParameter results = mc.Subscribe(strListId, email, fields, "html", false, true); }
public void BatchUnsubscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <EmailParameter> emails = new List <EmailParameter>(); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; EmailParameter email2 = new EmailParameter() { Email = "*****@*****.**" }; emails.Add(email1); emails.Add(email2); // Act BatchUnsubscribeResult results = mc.BatchUnsubscribe(lists.Data[1].Id, emails); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.SuccessCount == 2); }
public bool UnSubscribe(string email, int domainID) { tbl_Domains domain = DomainsRepository.GetByID(domainID); if (domain == null || !domain.DO_EnableMailChimp) { return(false); } MailChimpManager manager = new MailChimpManager(domain.DO_MailChimpAPIKey); EmailParameter emailParam = new EmailParameter() { Email = email }; try { var result = manager.Unsubscribe(domain.DO_MailChimpListID, emailParam); return(result != null ? result.Complete : false); } catch (MailChimpAPIException e) { Log.Error(String.Format("MailChimp UnSubscribe: Subscription exception: \"{0}\" ,for \"{1}\"", e.MailChimpAPIError.Name, email), e); } return(false); }
public async Task <bool> Add(ViewModels.Contact contact) { var mc = new MailChimpManager(ConfigurationManager.AppSettings.Get("MailChimpApiKey")); var email = new EmailParameter { Email = contact.Email }; var name = new NameVar { FirstName = contact.FirstName, LastName = contact.LastName, F3Name = contact.F3Name, Workout = contact.Workout, EH = contact.EH, Twitter = contact.Twitter, Groupings = new List <Grouping> { new Grouping { Id = 4293, GroupNames = new List <string> { "Newsletter" } } } }; var result = mc.Subscribe(ConfigurationManager.AppSettings.Get("F3List"), email, name, doubleOptIn: false, sendWelcome: true); return(true); }
public void GetMemberInfo_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <EmailParameter> emails = new List <EmailParameter>(); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; EmailParameter email2 = new EmailParameter() { Email = "*****@*****.**" }; emails.Add(email1); emails.Add(email2); // Act MemberInfoResult results = mc.GetMemberInfo(lists.Data[1].Id, emails); // Assert Assert.IsNotNull(results); }
public IHttpActionResult Subscribe(string subscribeEmail) { EmailParameter result; if (!string.IsNullOrEmpty(_mailingSettings.AccessToken) && !string.IsNullOrEmpty(_mailingSettings.AccessToken) && !string.IsNullOrEmpty(_mailingSettings.SubscribersListId) && subscribeEmail.Contains("@") && subscribeEmail.Contains(".")) { var mc = new MailChimpManager(_mailingSettings.AccessToken, _mailingSettings.DataCenter); // Create the email parameter var email = new EmailParameter() { Email = subscribeEmail, }; result = mc.Subscribe(_mailingSettings.SubscribersListId, email); if (string.IsNullOrEmpty(result.EUId)) { return(BadRequest()); } } else { return(BadRequest()); } return(Ok(result)); }
public ActionResult Update(string id) { var defaultEvent = service.GetDefaultEvent(); int eventid = defaultEvent.ID; MailChimpManager mc = new MailChimpManager(_mailchimpKey); ListInfo mailingList = mc.GetLists().Data.Where(l => l.Id == id).SingleOrDefault(); List <BatchEmailParameter> batchList = new List <BatchEmailParameter>(); if (mailingList.Name.Contains("Speakers")) { foreach (var speaker in service.GetSpeakers(eventid)) { MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = speaker.FirstName; myMergeVars.LastName = speaker.LastName; // Create the email parameter BatchEmailParameter batchEmail = new BatchEmailParameter(); EmailParameter email = new EmailParameter() { Email = speaker.Email }; batchEmail.Email = email; batchEmail.MergeVars = myMergeVars; batchList.Add(batchEmail); } } if (mailingList.Name.Contains("Attendees")) { foreach (var attendee in service.GetAllAttendees(eventid)) { MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = attendee.FirstName; myMergeVars.LastName = attendee.LastName; // Create the email parameter EmailParameter email = new EmailParameter() { Email = attendee.Email }; BatchEmailParameter batchEmail = new BatchEmailParameter(); batchEmail.Email = email; batchEmail.MergeVars = myMergeVars; batchList.Add(batchEmail); } } BatchSubscribeResult bResult = mc.BatchSubscribe(id, batchList, false, true, true); //MyMergeVar myMergeVars = new MyMergeVar(); //myMergeVars.FirstName = subscriber.FirstName; //myMergeVars.LastName = subscriber.LastName; // Create the email parameter //EmailParameter email = new EmailParameter() //{ // Email = subscriber.EmailAddress //}; //EmailParameter results = mc.Subscribe(_mailchimpGroupId, email, myMergeVars); return(RedirectToAction("Index")); }
public void SetsTheEmail(NonEmptyString emailString) { var email = Email.From(emailString.Get); ViewModel.Prepare(EmailParameter.With(email)); ViewModel.Email.Value.Should().Be(email); }
public static bool Send(EmailParameter parameter) { try { return(true); } catch (Exception) { return(false); } }
private bool SubscribeToList(string email, string listId) { var emailParam = new EmailParameter() { Email = email }; EmailParameter results = MailChimpManager.Subscribe(listId, emailParam); return(!string.IsNullOrWhiteSpace(results.EUId)); }
public void SubscribeWithGroupSelection_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // find a list with interest groups... string strListID = null; int nGroupingID = 0; string strGroupName = null; foreach (ListInfo li in lists.Data) { List <InterestGrouping> interests = mc.GetListInterestGroupings(li.Id); if (interests != null) { if (interests.Count > 0) { if (interests[0].GroupNames.Count > 0) { strListID = li.Id; nGroupingID = interests[0].Id; strGroupName = interests[0].GroupNames[0].Name; break; } } } } Assert.IsNotNull(strListID, "no lists found in this account with groupings / group names"); Assert.AreNotEqual(0, nGroupingID); Assert.IsNotNull(strGroupName); MyMergeVar mvso = new MyMergeVar(); mvso.Groupings = new List <Grouping>(); mvso.Groupings.Add(new Grouping()); mvso.Groupings[0].Id = nGroupingID; mvso.Groupings[0].GroupNames = new List <string>(); mvso.Groupings[0].GroupNames.Add(strGroupName); mvso.FirstName = "Testy"; mvso.LastName = "Testerson"; // Act EmailParameter results = mc.Subscribe(strListID, email, mvso); // Assert Assert.IsNotNull(results); Assert.IsTrue(!string.IsNullOrEmpty(results.LEId)); }
/// <summary> /// Retrieve minimal List data for all lists a member is subscribed to. /// </summary> /// <param name="emailParam">An object a with one fo the following keys: email, euid, leid. Failing to provide anything will produce an error relating to the email address</param> /// <returns></returns> public List <ListForEmail> GetListsForEmail(EmailParameter emailParam) { // Our api action: string apiAction = "helper/lists-for-email"; // Create our arguments object: object args = new { apikey = this.APIKey, email = emailParam }; // Make the call: return(MakeAPICall <List <ListForEmail> >(apiAction, args)); }
public static EmailParameter CreateEmailParameterDefault(List <string> emails, string mailFrom, string nameFrom, string body, string title, List <string> attachments = null) { EmailParameter emailParameter = new EmailParameter { Emails = emails, Attachments = attachments, MailFrom = mailFrom, NameFrom = nameFrom, Body = body, Title = title }; return(emailParameter); }
private async Task forgotPassword() { if (isLoadingSubject.Value) { return; } var emailParameter = EmailParameter.With(emailSubject.Value); emailParameter = await Navigate <ForgotPasswordViewModel, EmailParameter, EmailParameter>(emailParameter); if (emailParameter != null) { emailSubject.OnNext(emailParameter.Email); } }
public bool Subscribe(ONETUGMember member) { MailChimpManager mc = new MailChimpManager(_mailchimpKey); MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = member.FirstName; myMergeVars.LastName = member.LastName; // Create the email parameter EmailParameter email = new EmailParameter() { Email = member.EmailAddress }; EmailParameter results = mc.Subscribe(_mailchimpGroupId, email, myMergeVars); return(string.IsNullOrEmpty(results.LEId)); }
public bool RegisterRecipient(string emailAddress) { var mailChimpApiKey = ConfigurationManager.AppSettings["MailChimpApiKey"]; var mailChimpListId = ConfigurationManager.AppSettings["MailChimpListId"]; var mc = new MailChimpManager(mailChimpApiKey); var emailParameter = new EmailParameter() { Email = emailAddress }; var results = mc.Subscribe(mailChimpListId, emailParameter); return(true); }
// POST api/mailchimp public string Post(Subscriber subscriber) { MailChimpManager mc = new MailChimpManager(_mailchimpKey); MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = subscriber.FirstName; myMergeVars.LastName = subscriber.LastName; // Create the email parameter EmailParameter email = new EmailParameter() { Email = subscriber.EmailAddress }; EmailParameter results = mc.Subscribe(_mailchimpGroupId, email, myMergeVars); return(results.LEId); }
public void AddStaticSegmentMembers_Successful() { MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <StaticSegmentResult> segments = mc.GetStaticSegmentsForList(lists.Data[1].Id); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; List <EmailParameter> emails = new List <EmailParameter>(); emails.Add(email1); StaticSegmentMembersAddResult result = mc.AddStaticSegmentMembers(lists.Data[1].Id, segments[0].StaticSegmentId, emails); Assert.IsTrue(result.successCount == 1); }
public bool SignupNewsletter(string name, string email) { string newsLetterIdKeyName; switch (Thread.CurrentThread.CurrentUICulture.LCID) { default: newsLetterIdKeyName = "NewsletterListId"; break; } try { MailChimpManager mc = new MailChimpManager(WebConfigurationManager.AppSettings["MailChimpApiKey"]); // Create the email parameter EmailParameter mailChimpEmail = new EmailParameter() { Email = email }; NameMergeVars nameVars = new NameMergeVars(); string[] nameParts = name.Trim().Split(' '); nameVars.FirstName = nameParts.Length > 1 ? nameParts[0] : name; if (nameParts.Length > 1 && nameParts[1].Length > 0) { nameVars.LastName = nameParts[1]; } EmailParameter results = mc.Subscribe(WebConfigurationManager.AppSettings[newsLetterIdKeyName], mailChimpEmail, nameVars); if (string.IsNullOrWhiteSpace(results.EUId)) { return(false); } else { return(true); } } catch (Exception ex) { // log the exception throw ex; } }
private async Task forgotPassword() { if (IsLoading) { return; } var emailParameter = EmailParameter.With(Email); emailParameter = await navigationService .Navigate <ForgotPasswordViewModel, EmailParameter, EmailParameter>(emailParameter); if (emailParameter != null) { Email = emailParameter.Email; } }
public void Unsubscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // Act UnsubscribeResult results = mc.Unsubscribe(lists.Data[1].Id, email); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Complete); }
public void Subscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // Act EmailParameter results = mc.Subscribe(lists.Data[1].Id, email); // Assert Assert.IsNotNull(results); Assert.IsTrue(!string.IsNullOrEmpty(results.LEId)); }
public static void SubscribeUserToMailChimp(string emailId, string userName) { string apiKey = ConfigurationManager.AppSettings["MailchimpAPIKey"]; MailChimp.Lists.MergeVar myMergeVars = new MergeVar(); myMergeVars.Add("FNAME", userName); //myMergeVars.Add("LNAME", "Testerson"); MailChimpManager mc = new MailChimpManager(apiKey); // Create the email parameter EmailParameter email = new EmailParameter() { Email = emailId }; EmailParameter results = mc.Subscribe("5bea4adf5a", email, myMergeVars, "html", false, true, true, false); }
/// <summary> /// Unsubscribe the given email address from the list /// </summary> /// <param name="listId">the list id to connect to (can be gathered using GetLists())</param> /// <param name="emailParam">An object a with one fo the following keys: email, euid, leid. Failing to provide anything will produce an error relating to the email address</param> /// <param name="deleteMember">optional - flag to completely delete the member from your list instead of just unsubscribing, default to false</param> /// <param name="sendGoodbye">optional - flag to send the goodbye email to the email address, defaults to true</param> /// <param name="sendNotify">optional - flag to send the unsubscribe notification email to the address defined in the list email notification settings, defaults to true</param> /// <returns></returns> public UnsubscribeResult Unsubscribe(string listId, EmailParameter emailParam, bool deleteMember = false, bool sendGoodbye = true, bool sendNotify = true) { // Our api action: string apiAction = "lists/unsubscribe"; // Create our arguments object: object args = new { apikey = this.APIKey, id = listId, email = emailParam, delete_member = deleteMember, send_goodbye = sendGoodbye, send_notify = sendNotify }; // Make the call: return(MakeAPICall <UnsubscribeResult>(apiAction, args)); }
/// <summary> /// Retrieve minimal data for all Campaigns a member was sent /// </summary> /// <param name="emailParam">An object a with one fo the following keys: email, euid, leid. Failing to provide anything will produce an error relating to the email address</param> /// <param name="filterListId">A list_id to limit the campaigns to</param> /// <returns>an array of structs containing campaign data for each matching campaign</returns> public List <CampaignForEmail> GetCampaignsForEmail(EmailParameter emailParam, string filterListId = "") { // Our api action: string apiAction = "helper/campaigns-for-email"; // Create our arguments object: object args = new { apikey = this.APIKey, email = emailParam, options = new { list_id = filterListId } }; // Make the call: return(MakeAPICall <List <CampaignForEmail> >(apiAction, args)); }