首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SendGrid营销邮件延迟?

SendGrid营销邮件延迟?
EN

Stack Overflow用户
提问于 2015-05-27 04:48:24
回答 1查看 360关注 0票数 4

步骤

  1. 创建收件人列表
  2. 创建营销电子邮件
  3. 将电子邮件添加到收件人列表中
  4. 将收件人名单分配给营销电子邮件

当我缓慢地调试时,我成功地通过了来自sendgrid的所有步骤。

但是在非调试模式下,虽然我向收件人列表成功添加了电子邮件(结果从sendgrid返回),但是在步骤4中,我得到结果返回列表而没有收件人。我刷新浏览器并看到收件人列表中的电子邮件。

我尝试将timer.interval放在开始处理步骤4之前,但也得到了相同的结果返回。

VB ProcessHandler代码

代码语言:javascript
复制
' Add email and name to recipient list 
 If oSendMarketingEmail.AddEmailToList(oItemDetails.Email, oItemDetails.Full_Name, sRecipientList) = False Then Exit Try

' Wait for the email and name added to recipient list
 Dim timer As New Timers.Timer
 timer.Interval = 20000

 ' Assigning recipient list to marketing email
  If oSendMarketingEmail.AddListToMarketingEmail(sMarketingEmailName, sRecipientList) = False Then Exit Try

VB函数代码

代码语言:javascript
复制
    Public Function AddEmailToList(sEmailAddress As String, sName As String, sRecipientList As String) As Boolean

        Dim ResultsHTML As String = ""

        Dim URL As String = (Convert.ToString("http://sendgrid.com/api/newsletter/lists/email/add.xml?list=") & sRecipientList) + "&data=" + "{""email"":""" + sEmailAddress + """,""name"":""" + sName + """}" + "&api_user=" + SendGridUserName + "&api_key=" + SendGridPassword
        Dim SendGridResponse As String = PerformHTTPGet(URL)
        ResultsHTML += (Convert.ToString("Adding email to List: ") & SendGridResponse) + "<br/>"

        ' Check respond status - success
        If Not ResultsHTML.Contains("insert") Then logger.log.Info(ResultsHTML) : Return False Else Return True

    End Function


    Public Function AddListToMarketingEmail(sMarketingEmailName As String, sRecipientList As String) As Boolean

        Dim ResultsHTML As String = ""

        'Assign list to marketing email
        Dim URL As String = (Convert.ToString((Convert.ToString("http://sendgrid.com/api/newsletter/recipients/add.xml?name=") & sMarketingEmailName) + "&list=") & sRecipientList) + "&api_user=" + SendGridUserName + "&api_key=" + SendGridPassword
        Dim SendGridResponse As String = PerformHTTPGet(URL)
        ResultsHTML += (Convert.ToString("Assigning Marketing Email to List: ") & SendGridResponse) + "<br/>"

        ' Check respond status - success
        If Not ResultsHTML.Contains("success") Then logger.log.Info(ResultsHTML) : Return False

    End Function
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-27 16:04:31

在SendGrid中,列表计数可能需要一段时间才能更新。“强制”的一种方法是查询完整列表,这将触发系统通过计数,并将更新计数,然后允许您正确地附加它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30473403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档