SendGrid 营销电子邮件延迟?

问题描述 投票:0回答:3

步骤

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

当我缓慢调试时,我设法通过了所有步骤,并收到来自 sendgrid 的成功消息。

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

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

VB ProcessHandler 代码

' 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 函数代码

    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
asp.net vb.net sendgrid
3个回答
0
投票

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


0
投票

SendGrid 可能会出于各种原因(包括音量控制、内容分析或服务器负载)对您的电子邮件进行排队。检查您的 SendGrid 仪表板是否有任何传送问题,或联系他们的支持人员以获取诊断延迟的帮助。此外,您可以尝试其他工具,如 mailchimp 和 iDealSMTP 以获得更好的性能。


-2
投票

如果您遇到 SendGrid 营销电子邮件延迟的情况,背后可能有多种原因。以下是可能导致电子邮件延迟的一些常见因素:

  1. 电子邮件量
  2. 服务器问题
  3. 垃圾邮件过滤器
  4. 内容或格式问题
  5. 收件人服务器问题

为了解决电子邮件延迟并确保及时发送您的营销电子邮件,我为您找到了您可以考虑的最佳电子邮件营销工具:

  • 数字化
  • Mailjet
  • 理想mtp
  • 布雷沃

它们都提供了一个可靠的平台,具有先进的功能,例如强大的交付基础设施、实时交付跟踪、专门的客户支持、 高级细分和个性化。

© www.soinside.com 2019 - 2024. All rights reserved.