Страница 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;
        }
Спасибо.