カテゴリー
Microsoft

【ASP.NET】【MVC5】SMTP サーバとして Hotmail を使ってメールを送信するサンプル♪【レベル1】

プロジェクト情報・進め方

  • .NET Framework 4.6.1
  • Visual C#
  • ASP.NET Web アプリケーション
  • MVC 5
  • 認証なし
  • Homecontroller の Index アクション、ビューを修正していく
  • SMTP サーバには Hotmail を利用した。Google アカウントは2段階認証や、アプリケーションパスワードなど、面倒事が多いため。

ボタンを押したらメールを送信

サンプルソースをコピペレベルでよいので、とにかく最低限のコードで送信できた状態に持って行きました♪

public ActionResult Index()
{
    return View();
}

[HttpPost, ActionName("Index")]
[ValidateAntiForgeryToken]
public ActionResult IndexExec()
{
    //Hotmailでメールを送信する

    //MailMessageの作成
    var from = "xxxxx@hotmail.co.jp";
    var to = "yyyyy@gmail.com";
    var subject = "テスト";
    var body = "このメールは、テストです。";
    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(
        from,
        to,
        subject,
        body);

    System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
    //SMTPサーバーなどを設定する
    sc.Host = "smtp.live.com";
    sc.Port = 587;
    sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

    //ユーザー名とパスワードを設定する
    var userName = "xxxxx@hotmail.co.jp";
    var password = "zzzzz";
    sc.Credentials = new System.Net.NetworkCredential(userName, password);
    //SSLを使用する
    sc.EnableSsl = true;

    //メッセージを送信する
    sc.Send(msg);

    //後始末
    msg.Dispose();
    sc.Dispose();

    return View();
}
@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="メール送信" class="btn btn-default" />
            </div>
        </div>

    </div>
}

おわりに

  • エラーハンドリング
  • ファイル添付

も調べておきたいですの♪

以上です。

コメントを残す