1

我在此处的“发送邮件”示例之后使用以下 C# 代码使用模板通过 MailJet 发送电子邮件。模板有一个变量{{var:name}},它是接收者的名字。

int templateID = 610379;

MailjetRequest request = new MailjetRequest
{
    Resource = Send.Resource,
}
.Property(Send.FromEmail, ConfigurationManager.AppSettings["MailJetFromEmail"].ToString())
.Property(Send.FromName, "Support Team")
.Property(Send.MjTemplateID, templateID)
.Property(Send.MjTemplateLanguage, true)
.Property(Send.Vars, new JArray
{
    new JObject
    {
        { "name", "Name of the customer"}
    }
})
.Property(Send.Recipients, new JArray
{
    new JObject
    {
        { "Email", "testemailtosend@gmail.com" }
    }
});

MailjetResponse response = await client.PostAsync(request);

if (response.IsSuccessStatusCode)
{
    // Log success
}
else
{
    // Log error
}

虽然response.IsStatusSuccessCode确实相等true,但我的电子邮件一直被阻止。有人可以解释为什么电子邮件被阻止以及如何解决它吗?

在此处输入图像描述

4

2 回答 2

2

问题是我实际上在电子邮件模板中有多个变量,但只指定了其中一个。(这让我感到困惑,因为我确实为这些其他变量设置了默认值,但事实证明,如果所有变量的值都已指定,MailJet 只会发送电子邮件)

这个

.Property(Send.Vars, new JArray
{
    new JObject
    {
        { "name", "Name of the customer" }
    }
})

应该是这个

.Property(Send.Vars, new JArray
{
    new JObject
    {
        { "name", "Name of the customer" }
        { "org", "Organization of the customer" }
    }
})

因为电子邮件模板中的另一个变量是组织。

于 2018-05-03T18:53:14.947 回答
0

subject当 a不存在时,许多电子邮件服务器将“阻止” 。

于 2018-04-25T04:38:31.003 回答