use*_*999 4 embed email api smtp sendgrid
我使用sendgrid SMTP API https://github.com/sendgrid/sendgrid-csharp发送电子邮件,但我无法弄清楚如何嵌入图像.我可以使用.Net本机邮件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@gmail.com"));
myMessage.To = contact_list.ToArray();
myMessage.From = new MailAddress("clientservice@stpis.com");
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我想出了如何使这个工作.这是使用的代码:
var myMessage = new SendGridMessage();
contact_list = new List<MailAddress>();
contact_list.Add(new MailAddress("my email address"));
myMessage.To = contact_list.ToArray();
myMessage.From = new MailAddress("clientservice@stpis.com", "STP Client Service");
myMessage.Subject = "STP Report Package: " + package_report_name;
string img = @"C:\\logo.png";
ContentType ctype = new ContentType("image/png");
var attachment = new Attachment(img, ctype);
var linkedResource = new LinkedResource(img, ctype);
myMessage.AddAttachment(attachment.ContentStream, attachment.Name);
myMessage.EmbedImage(attachment.Name, linkedResource.ContentId);
string html = "<img src=cid:"+linkedResource.ContentId+" />";
myMessage.Html = html;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2943 次 |
| 最近记录: |