예제 #1
0
        public static void SendMail(SmtpClient client, MailQueue mail)
        {
            var msg = new MailMessage
            {
                Subject    = mail.Subject,
                From       = new MailAddress(mail.FromEmail.Trim().ToLower(), mail.FromName.Trim()),
                IsBodyHtml = true,
                Body       = mail.Content
            };

            msg.To.Add(mail.ToEmail.Trim().ToLower());

            if (!string.IsNullOrEmpty(mail.ReplyEmail.Trim().ToLower()))
            {
                msg.ReplyToList.Add(mail.ReplyEmail.Trim().ToLower());
            }

            //msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(mail.Content, null, "text/html"));
            msg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(ConvertToText(mail.Content), null, "text/plain"));

            if (!string.IsNullOrEmpty(mail.Attachment))
            {
                var attachments = SendAttachment.Attachments(mail.Attachment);

                foreach (var attachment in attachments)
                {
                    msg.Attachments.Add(attachment);
                }
            }

            client.Send(msg);
        }
예제 #2
0
        /// <summary>
        /// Gets a weather forecast as an image
        /// </summary>
        /// <param name="location"></param>
        /// <returns></returns>
        public static Attachment GetWeatherForecast(LatLngLocation location)
        {
            #region PRECONDITION

            if (location == null)
            {
                throw new ArgumentNullException("location can not be null!");
            }

            #endregion

            var attachment = new SendAttachment();
            attachment.Name = "forecast.png";

            var request  = WebRequest.Create(string.Format(FORECAST_LARGE_REQUESTURI, location.Lat, location.Lng));
            var result   = request.GetResponseAsync().Result;
            var response = result.GetResponseStream();

            using (var ms = new MemoryStream())
            {
                response.CopyTo(ms);
                var imageData = ms.ToArray();
                attachment.Content = imageData;
            }

            return(attachment);
        }