Письмо с подтверждением Mailjet не работает, в С# получает статус 200, но не доставляется, транзакционные сообщения имеюC#

Место общения программистов C#
Anonymous
Письмо с подтверждением Mailjet не работает, в С# получает статус 200, но не доставляется, транзакционные сообщения имею

Сообщение Anonymous »

Я пишу API на C# и собираюсь использовать Mailjet. Я добавил пакет Mailjet, свой apiKey и секретный ключ в свое приложение .NET Core. Я добавил на сайт домен и адрес отправителя, которые кажутся действительными. Я настроил отправителя на тип «Неизвестный/оба».
Я пробовал несколько разных вещей в коде, включая разные версии пакета.
Во-первых, позвольте мне отметить, что я пытался «Отправить первое письмо» через страницу 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);
Я также попробовал, как мне кажется, отправить электронное письмо кампании с помощью функции PostAsync, ссылка на которую есть на этом сайте. Ниже мой код. Когда метод PostAsync завершается, я получаю код состояния 200, но Total и Count оба равны 0, а веб-сайт Mailjet показывает, что электронные письма не отправлялись.

Код: Выделить всё

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()));
}
Я делаю что-то не так в своем коде? Это проблема конфигурации, которую мне нужно исправить на сайте? Как я могу получить дополнительную информацию о том, что происходит, и как я могу успешно отправить электронное письмо из моего приложения .NET Core с помощью Mailjet?

Подробнее здесь: https://stackoverflow.com/questions/787 ... nt-deliver

Вернуться в «C#»