C#でファイルの内容を読み込んでメールを送信する。


スポンサーリンク

前回の記事の続きですが、C#でファイルの内容を読み込んでメールを送信してみます。
特に難しいことをやるのではなく、ファイルを読み込む機能とメールを送信する機能を組み合わせただけです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net.Mime;
using System.IO;
using System.Text;


namespace MailSender
{
    class Email
    {
        public static void Main(string[] args)
        {
            string fileDir = @"C:\tmp\";
            string fileName = "mail.txt";
            if (File.Exists(fileDir + fileName))
            {
                Console.WriteLine("file exists");
            }
            else
            {
                Console.WriteLine("[ERROR]File does not exits.");
                Console.ReadLine();
                return;
            }

            StreamReader sr = new StreamReader(fileDir + fileName, Encoding.GetEncoding("UTF-8"));
            string body = sr.ReadToEnd();
            sr.Close();

            MailMessage mail = new MailMessage();
            SmtpClient sc = new SmtpClient();

            mail.From = new MailAddress("from-mail-address@hoge.jp", "from mail name");
            mail.To.Add(new MailAddress("to-mail-address@hoge.jp","to mail name"));
            
            mail.Subject = "Test";
            mail.Body = body;

            sc.Host = "smtp.mailserver.hostname";
            sc.Port = 25;
            //sc.Credentials = new System.Net.NetworkCredential("user","password");
            sc.Send(mail);

            Console.ReadLine();
        }
    }
}

上記のサンプルで、ファイルの内容を読み込んで、そのファイルの中身をメールで送信することができます。