Страница 1 из 1
Email
Добавлено: 29 ноя 2011, 23:07
Edvard
Добрый день.
Нужна следующая функциональность.
Сформировать отчет и не показывая его пользователю и отправить по email. Можно отправлять в виде attachment-а как pdf. Или вставить в тело письма как html. С формированием отчета и экспортом в различные форматы у меня нет проблемы. Вопрос о том как сформировать и отправить email средствами StimulReports.
Если это возможно, то дайте пожалуйста пример кода.
Email
Добавлено: 30 ноя 2011, 05:20
Aleksey
Здравствуйте,
К сожалению, но нельзя отправить отчет по email средствами StimulReports, не показывая его пользователю.
В данном случае, вам необходимо реализовать это самостоятельно.
Пожалуйста, посмотрите несколько методов:
Код: Выделить всё
public static void SendEMail(SmtpClient client, string fromEMail, string[] toEMail, string body, string subject, MessagePriority priority, string attachmentName, Stream attachmentStream)
{
MailMessage message = new MailMessage();
try
{
#region From
message.From = new MailAddress(fromEMail);
#endregion
#region To
foreach (string to in toEMail)
{
message.To.Add(new MailAddress(to));
}
#endregion
#region MailPriority
if (priority == MessagePriority.High) message.Priority = MailPriority.High;
else if (priority == MessagePriority.Normal) message.Priority = MailPriority.Normal;
else if (priority == MessagePriority.Low) message.Priority = MailPriority.Low;
#endregion
#region Body
message.BodyEncoding = System.Text.Encoding.UTF8;
message.Body = body;
#endregion
#region Subject
message.SubjectEncoding = System.Text.Encoding.UTF8;
message.Subject = subject;
#endregion
#region Attachments
if (attachmentStream != null && attachmentName != null)
message.Attachments.Add(new Attachment(attachmentStream, attachmentName));
#endregion
client.Send(message);
}
finally
{
message.Dispose();
}
}
public static SmtpClient GetSmtpClient()
{
SmtpClient client = new SmtpClient();
client.Host = EMailHelper.Host;
client.Port = EMailHelper.Port;
client.Timeout = EMailHelper.Timeout;
client.Credentials = new NetworkCredential(UserName, Password);
return client;
}
Спасибо.