Я пробовал несколько разных вещей в коде, включая разные версии пакета.
Во-первых, позвольте мне отметить, что я пытался «Отправить первое письмо» через страницу Mailjet: https://app.mailjet.com/auth/get_started/developer. Я выбрал метод отправки как «API». Сначала я настроил его на использование C# и нажал кнопку «Проверить отправку», в результате чего появилось сообщение:
Мы не получил ни одного успешного отзыва об отправке электронного письма. Пожалуйста, проверьте реализацию кода. Если вам нужна помощь, обратитесь к нашему руководству для разработчиков.
Затем я попробовал «Python» и «Node.js» и получил ту же ошибку.
Я попытался отправить транзакционное электронное письмо, используя следующий код (из репозитория GitHub, расположенного здесь), и получил обратно объект результата, который имеет только одно свойство с именем «Сообщения», которое имеет значение null. (mymail@mydomain.com является зарегистрированным отправителем в интерфейсе Mailjet)
Код: Выделить всё
MailjetClient client = new MailjetClient(apiKey, secretKey);
MailjetRequest request = new MailjetRequest
{
Resource = Send.Resource,
};
// construct your email with builder
var email = new TransactionalEmailBuilder()
.WithFrom(new SendContact("mymail@mydomain.com"))
.WithSubject("Test subject")
.WithHtmlPart("Header")
.WithTo(new SendContact("mymail@mydomain.com"))
.Build();
// invoke API to send email
var response = await client.SendTransactionalEmailAsync(email);
Console.WriteLine(response);
Код: Выделить всё
MailjetClient client = new MailjetClient(apiKey, secretKey);
MailjetRequest request = new MailjetRequest
{
Resource = Send.Resource,
}
.Property(Send.FromEmail, "mymail@mydomain.com")
.Property(Send.FromName, "Mailjet Pilot")
.Property(Send.Subject, "Your email flight plan!")
.Property(Send.TextPart, "Dear passenger, welcome to Mailjet! On this")
.Property(Send.Recipients, new JArray {
new JObject {
{"Email", "mymail@mydomain.io"},
{"Name", "passenger 1"},
}
});
MailjetResponse response = await client.PostAsync(request);
if (response.IsSuccessStatusCode)
{
Console.WriteLine(string.Format("Total: {0}, Count: {1}\n", response.GetTotal(), response.GetCount()));
Console.WriteLine(response.GetData());
}
else
{
Console.WriteLine(string.Format("StatusCode: {0}\n", response.StatusCode));
Console.WriteLine(string.Format("ErrorInfo: {0}\n", response.GetErrorInfo()));
Console.WriteLine(response.GetData());
Console.WriteLine(string.Format("ErrorMessage: {0}\n", response.GetErrorMessage()));
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... nt-deliver