Приведенный ниже код используется для отправки писем через API pardot.
if (ConfigurationManager.AppSettings.Count > 0)
{
uri = ConfigurationManager.AppSettings["PardotURI"].ToString() + "email/version/4/do/send/prospect_email/" + email;
uri += "?user_key=" + ConfigurationManager.AppSettings["PardotUserKey"].ToString();
uri += "&api_key=" + GetAPIKey() + "&campaign_id=" + GetPardotCampaign("Capis News");
uri += "&from_email=" + ConfigurationManager.AppSettings["FromEmail"].ToString();
uri += "&from_name=" + ConfigurationManager.AppSettings["FromName"].ToString();
uri += "&name=FlyNews - " + DateTime.Now.ToString("MM/dd/yyy h:mm tt");
uri += "&subject=CAPIS: Client Holdings News " + DateTime.Today.ToString("MM/dd/yyyy");
}
try
{
MultipartFormDataContent data = new MultipartFormDataContent();
data.Add(new StringContent(htmlContent), "html_content");
data.Add(new StringContent(textContent), "text_content");
await client.PostAsync(uri, data);
client.Dispose();
}
catch(Exception ex)
Это работало замечательно, пока я не заметил несколько дней назад, это начало выдавать следующее исключение. К сожалению, это не соответствует, потому что он будет отправлять 30/40 электронных писем, но выбрасывать исключения для остальных 10, а количество исключений каждый день было разным и для разных людей. Я знаю, что данные, которые я отправляю в мультиплатформе, большие, но они не должны быть частью URI, и если кто-то не имеет 1500-символьного электронного письма, URI никогда не должен быть слишком длинным. Кто-нибудь имеет представление о том, что может происходить? Я ценю любую помощь.
System.UriFormatException: неверный URI: слишком длинная строка Uri. в System.UriHelper.EscapeString (ввод String, начало Int32, конец Int32, Char [] dest, Int32 & destPos, логическое значение isUriString, Char force1, Char force2, Char rsvd) в System.Uri.EscapeDataString (String stringToEscape) в System.Net .Http.FormUrlEncodedContent.Encode (строковые данные) в System.Net.Http.FormUrlEncodedContent.GetContentByteArray (IEnumerable 1 nameValueCollection) at System.Net.Http.FormUrlEncodedContent..ctor(IEnumerable
1 nameValueCollection) в PardotDataAccessLibrary.PardotDataAccess.dxt9.Me