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; }
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); } } } }