Я использую sendgrid SMTP API https://github.com/sendgrid/sendgrid-csharp для отправки электронной почты, но я не могу понять, как вставить изображение. Я могу сделать это с использованием .Net родной почты api без проблем. Я просто получаю плохой запрос. Вот мой код, который бросаетSendGrid SMTP API: Вставить изображение: неверный запрос
private static void Main(string[] args)
{
try {
//// Create the email object first, then add the properties.
var myMessage = new SendGridMessage();
contact_list = new List<MailAddress>();
contact_list.Add(new MailAddress("[email protected]"));
myMessage.To = contact_list.ToArray();
myMessage.From = new MailAddress("[email protected]");
myMessage.Subject = "Subject";
string html = "<div><img src=cid:Logo /></div>";
myMessage.Html = html;
myMessage.EmbedImage(@"C:\logo.png", "Logo");
SendMessage(myMessage);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
private static void SendMessage(SendGridMessage message)
{
// Create credentials, specifying your user name and password.
var credentials = new NetworkCredential("username", "pwdpwdpwd");
// Create a Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
try
{
transportWeb.Deliver(message);
Console.WriteLine("Sent!");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Я изо всех сил пытался получить звонок «EmbedImage», но это все для меня, спасибо! ;) –
Вы должны указать вложение. Имя, потому что по умолчанию оно равно NULL – SochiX
И действительно ли эти изображения появляются в виде вложений? Когда я отправляю с использованием '' в HTML и добавляя вложение с 'cid: logo.png' в API, они отлично работают в Outlook, но не в Gmail. Пробовал использовать ваш код, и все еще Outlook показывает встроенный, но Gmail по-прежнему показывает пустой placeholder. – ajeh