Hello everybody,
Today lets try getting images from a Sharepoint image library and attach them to Mail message using CSOM.
My below code does the job.
public static MailMessage
GetConfigurationImages(ClientContext context, System.Net.Mail.Attachment
MailAttachment, Microsoft.SharePoint.Client.File file, MailMessage message,
String imageName)
{
Logger.Info("Getting
Configuration Images");
var docs =
context.Web.Lists.GetByTitle("ConfigurationImages");
var qry =
CamlQuery.CreateAllItemsQuery();
var srcItems = docs.GetItems(qry);
context.Load(srcItems, icol =>
icol.Include(i => i.FileSystemObjectType, i => i["FileRef"], i
=> i.File));
context.Load(docs, l =>
l.RootFolder);
context.ExecuteQuery();
foreach (var item in srcItems)
{
file = item.File;
var fileInfo =
Microsoft.SharePoint.Client.File.OpenBinaryDirect(context,
file.ServerRelativeUrl);
var fileStream =
fileInfo.Stream;
MailAttachment = new
System.Net.Mail.Attachment(fileStream, MediaTypeNames.Application.Octet);
MailAttachment.Name =
file.Name;
MailAttachment.ContentId =
file.Name;
if (file.Name != imageName)
{
message.Attachments.Add(MailAttachment); }
}
return message;
Thanks.