步骤
当我缓慢调试时,我设法通过了所有步骤,并收到来自 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
在 SendGrid 中,列表计数可能需要一段时间才能更新。 “强制”它的一种方法是查询完整列表,这会触发系统进行计数,并更新计数,然后您可以正确附加它。
SendGrid 可能会出于各种原因(包括音量控制、内容分析或服务器负载)对您的电子邮件进行排队。检查您的 SendGrid 仪表板是否有任何传送问题,或联系他们的支持人员以获取诊断延迟的帮助。此外,您可以尝试其他工具,如 mailchimp 和 iDealSMTP 以获得更好的性能。
如果您遇到 SendGrid 营销电子邮件延迟的情况,背后可能有多种原因。以下是可能导致电子邮件延迟的一些常见因素:
为了解决电子邮件延迟并确保及时发送您的营销电子邮件,我为您找到了您可以考虑的最佳电子邮件营销工具:
它们都提供了一个可靠的平台,具有先进的功能,例如强大的交付基础设施、实时交付跟踪、专门的客户支持、 高级细分和个性化。