Настройки отказа от подписки SendgridC#

Место общения программистов C#
Ответить
Anonymous
 Настройки отказа от подписки Sendgrid

Сообщение Anonymous »

Я использую Sendgrid и пытаюсь отправить эти электронные письма на языке C#.
Итак, я настраиваю ключи SMTP и API в своих приложениях, и вот, электронные письма были отправлены.

Вопрос в том, как вставить группу Настройки отказа от подписки в заголовок X-SMTPAPI?
К вашему сведению: в настройках отказа от подписки вы можете выбрать, от какой группы вы хотите отказаться от подписки, вместо глобальной отмены подписки.

Я уже проверил эти ссылки: Я также проверил библиотеку C# на их github.
Но ничего из этого мне не прояснилось.

Я совершенно не разбираюсь в JSON, GET, REQUEST, RESPONSE и тому подобном.

это мой код на C#
public void Main()
{
string sSubject = Dts.Variables["vSubject"].Value.ToString();
string sBody = Dts.Variables["vBodyMessage"].Value.ToString();

int iPriority = 2;

if (SendMail(sSubject, sBody, iPriority))
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
//Fails the Task
Dts.TaskResult = (int)ScriptResults.Failure;
}
}

//THIS IS THE HEADER X-SMTPAPI, I DUNNO HOW TO USE IT :(
//I WANNA ADD MY GROUPS HERE
private static string XsmtpapiHeaderAsJson()
{
var header = new Header();
header.SetAsmGroupId(777);

//var uniqueArgs = new string[] { "Small", "Medium", "Large" };
//{

// "asm_groups_to_display": [1, 2, 3]

//};
//header.AddUniqueArgs({ "asm_groups_to_display": ['1', '2', '3']});

//var subs = new List { "私はラーメンが大好き" };
//header.AddSubstitution("%tag%", subs);

//dynamic stuff = json

return header.JsonString();
}

public bool SendMail(string sSubject, string sMessage, int iPriority)
{
string xmstpapiJson = XsmtpapiHeaderAsJson();

try
{
string sEmailServer = Dts.Variables["sServer"].Value.ToString();
string sEmailPort = Dts.Variables["sPort"].Value.ToString();
string sEmailUser = Dts.Variables["sUser"].Value.ToString();
string sEmailPassword = Dts.Variables["sPassword"].Value.ToString();
string sEmailSendTo = Dts.Variables["sSendTo"].Value.ToString();
string sEmailSendToName = Dts.Variables["sSendToName"].Value.ToString();
//string sEmailSendCC = Dts.Variables["sSendCC"].Value.ToString();
string sEmailSendFrom = Dts.Variables["sFrom"].Value.ToString();
string sEmailSendFromName = Dts.Variables["sFromName"].Value.ToString();

SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();

MailAddress fromAddress = new MailAddress(sEmailSendFrom, sEmailSendFromName);

//You can have multiple emails separated by ;
string[] sEmailTo = Regex.Split(sEmailSendTo, ";");
//string[] sEmailCC = Regex.Split(sEmailSendCC, ";");
int sEmailServerSMTP = int.Parse(sEmailPort);

smtpClient.Host = sEmailServer;
smtpClient.Port = sEmailServerSMTP;

System.Net.NetworkCredential myCredentials =
new System.Net.NetworkCredential(sEmailUser, sEmailPassword);
smtpClient.Credentials = myCredentials;

message.From = fromAddress;

//MailAddress toAddress = new MailAddress(sEmailSendTo, sEmailSendToName);
//message.To.Add(toAddress);

if (sEmailTo != null)
{
for (int i = 0; i < sEmailTo.Length; ++i)
{
if (sEmailTo != null && sEmailTo != "")
{
MailAddress toAddress = new MailAddress(sEmailTo, sEmailSendToName);
message.To.Add(toAddress);

}
}
}

switch (iPriority)
{
case 1:
message.Priority = MailPriority.High;
break;
case 3:
message.Priority = MailPriority.Low;
break;
default:
message.Priority = MailPriority.Normal;
break;
}

//message.Headers.Add("X-SMTPAPI", xmstpapiJson);

//smtpClient.SendCompleted += SendCompletedCallback;
//const string state = "test1";

message.Subject = sSubject;
message.IsBodyHtml = true;
message.Body = sMessage;

//smtpClient.SendAsync(message, state);
smtpClient.Send(message);
return true;
}
catch (Exception ex)
{
return false;
}
}


Подробнее здесь: https://stackoverflow.com/questions/384 ... references
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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