39Si

プログラミング関連の勉強した内容を簡単にまとめておきます

c#でgmailを利用してメールを送るだけのプログラム

C#でメールを送るだけの話
すでに多くの人がやっていると思うけど、覚え書き
ちょっとした内容をメールでメモする用途のプログラムを作ってみた 具体的には、パソコンからメールでメモを携帯に送るプログラム

環境

Windows 8.1 Pro
Visual studio 2012 for Windows Desktop

大まかなやり方

1、新しいプロジェクトでフォームアプリケーションを作成し、テキストボックス[testBox1]とボタン[Button1]を貼り付ける。
2、[Button1]をクリックしたときのイベントにメールを送信するコードを入れる。

GmailでtextBox1の内容を送信するプログラム

'''

        //idとパスワード
        string id = "hogehogeh@gmail.com";
        string pass = "hogehoge";
        string fromEMail = "hogehoge@gmail.com";
        string toEMail = "hogehoge@gmail.com";

        //本文とタイトル 一行目をタイトルにする
        string body, subject;
        string[] subject1;
        body = textBox1.Text;
        subject1 = body.Split('\r');
        subject = subject1[0];

        //GMail Initialize
        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;

        //GMail認証
        smtp.Credentials = new System.Net.NetworkCredential(id, pass);

        //SSL
        smtp.EnableSsl = true;

        System.Net.Mail.MailMessage oMsg = new System.Net.Mail.MailMessage(fromEMail, toEMail, subject, body);

        //メール送信
        smtp.Send(oMsg);

'''

参考ページ

C#からGmailを使ったメール送信

最後に

しばらくメールを送信して遊んでいるとメールを送信できなくなった。
どうも自分で作ったプログラムがブロックされているようだったので確認したら、
最近怪しいプログラムがサインインしようとしているとグーグルさんからメールがきてました。
セキュリティの設定を変更することでまた使えるようになったのですが、
セキュリティレベルを落としたことになった。

あと、ファイルの添付などもできるのだろうけど、 必要になったら実装しようと思います。