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
您好jacob,我找到了一種解決這個問題的方法,即在添加列表到營銷郵件之前,我放了一個system.threading.thread.sleep(毫秒)。它現在工作完美。您是否有任何想法或有任何解決方案可將每個收件人信息添加到營銷電子郵件中,而無需重新創建它們? – belltric
我找到了如何將收件人信息添加到營銷電子郵件的方法。 我遇到的另一個問題是,在嘗試向營銷電子郵件中添加類別後,我前往UI以檢查營銷電子郵件是否屬於該類別。該類別不會變成粗體。但是,當我創建營銷電子郵件並選擇類別時,該類別將變爲粗體。你有什麼想法可能會導致這種情況? – belltric
代碼 '將時事通訊類別添加到時事通訊 Dim URL As String =「https://api.sendgrid.com/api/newsletter/category/add.json」+「&api_user =」+ SendGridUserName +「&api_key =」+ SendGridPassword + 「&類別=簡訊」 + 「&name =」 + EncodedNewsletterName 昏暗SendGridResponse的String = PerformHTTPGet(URL) ResultsHTML + =(Convert.ToString( 「添加類別通訊: 」)SendGridResponse)+「
」 '檢查回覆狀態 - 成功 如果不是結果HTML.Contains(「success」)然後logger.log.Info(ResultsHTML):返回False Else返回True – belltric