Esempio n. 1
0
        private MailMessage CreateMailMessage(WebAPIArgs args, string keyword, IEnumerable<YahooNewsResult> results, string toAddress)
        {
            var msg = new MailMessage();

            //送信者の設定
            msg.From = new MailAddress(args.FromMailAddress, args.FromMailName);

            //宛先の設定
            msg.To.Add(new MailAddress(toAddress));

            //件名の設定
            msg.Subject = keyword + "に関する記事です";

            //本文の設定(RazorEngine テンプレートエンジンを利用)
            msg.Body = results.Any() ? Razor.Parse(keyword + @"に関する記事のURLは以下になります
@foreach( var result in Model ){
@:・ @result.SmartphoneUrl
}", results) : keyword + @"に関する記事は見つかりませんでした";
            return msg;
        }
Esempio n. 2
0
        private void SendMails(WebAPIArgs args, string keyword, IEnumerable<YahooNewsResult> results)
        {
            using (var sc = new SmtpClient())
            {
                //SMTPサーバーを指定
                sc.Host = ConfigurationManager.AppSettings["Mail:SMTPServerAddress"];
                sc.Credentials =
                    new System.Net.NetworkCredential(
                        ConfigurationManager.AppSettings["Mail:SMTPServerUsername"],
                        ConfigurationManager.AppSettings["Mail:SMTPServerPassword"]);

                //送付先のメールアドレスにニュースを送付する
                foreach (var toAddress in args.ToMailAddresses)
                {
                    //送付用 MailMessage の作成
                    using (var msg = CreateMailMessage(args, keyword, results, toAddress))
                    {
                        sc.Send(msg);
                    }
                }
            }
        }