using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.IO;
using Microsoft.SharePoint;
namespace SendEmail
{
class Program
{
private static MailMessage mailInformation(SPListItem listItem, SPWeb spWeb,string from, string to, string subject, string body)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(from);
mail.To.Add(new MailAddress(to));
mail.Subject = subject;
mail.Body = body;
for (int attachment = 0; attachment < listItem.Attachments.Count; attachment++)
{
string fileURL = listItem.Attachments.UrlPrefix + listItem.Attachments[attachment];
SPFile file = spWeb.GetFile(fileURL);
mail.Attachments.Add(new Attachment(file.OpenBinaryStream(), file.Name));
}
return mail;
}
private static void sendEmail(MailMessage eMail, string host)
{
SmtpClient smtp = new SmtpClient(host);
smtp.UseDefaultCredentials = true;
smtp.Send(eMail);
}
static void Main(string[] args)
{
string eMailFrom = "[email protected]";
string eMailTo = "[email protected]";
string eMailSubject = "Mail with multiple attachments";
string eMailBody = "Mail with multiple attachments from SharePoint list item";
string hostAddress = string.Empty;
using (SPSite site = new SPSite("https://serverName"))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists.TryGetList("Testing");
if (list != null)
{
SPListItem item = list.GetItemById(61);
MailMessage mailMessage=mailInformation(item, web, eMailFrom, eMailTo, eMailSubject, eMailBody);
hostAddress = site.WebApplication.OutboundMailServiceInstance.Server.Address;
sendEmail(mailMessage, hostAddress);
}
}
}
}
}
}