C# を使用して HTML 形式のメールを送信する

Muhammad Zeeshan 2023年10月12日
  1. C# を使用して HTML 形式の電子メールを送信する Windows フォームを作成する
  2. C# を使用して HTML 形式の電子メールを送信するコードを作成する
C# を使用して HTML 形式のメールを送信する

この記事では、ASP.Net で C# を使用して HTML 形式のメールを送信する方法について説明します。

SMTP 経由での電子メールの送信は、現在の Gmail アカウントまたはまったく新しいアカウントでテストできます。 通信には Gmail Mailer クライアントを使用できます。

C# を使用して HTML 形式の電子メールを送信する Windows フォームを作成する

  • ユーザー名 のラベルとテキスト ボックスを追加します。 これが送信者のユーザー名になります。

    Windowsフォーム - ユーザー名テキストボックス

  • Password のラベルとテキスト ボックスを追加します。 送信者アカウントのパスワードになります。

    Windows フォーム - パスワード テキストボックス

  • Sendto のラベルとテキスト ボックスを追加します。 受信者のメールアドレスになります。

    Windows フォーム - テキストボックスに送信

  • 件名 またはタイトルのラベルとテキスト ボックスを追加します。

    Windows フォーム - 件名テキスト ボックス

  • 最後に、Send Mail という名前のボタンを作成します。

    Windows フォーム - メール送信ボタン

    完全なフォームは次のようになります。

    C# HTML メール送信 - Windows フォーム

C# を使用して HTML 形式の電子メールを送信するコードを作成する

以下は、C# を使用して HTML 形式の電子メールを送信するためのコードを記述するために必要な手順です。

  • まず、次のライブラリをインポートします。
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net.Mail;
    
  • MailMessage オブジェクトと SmtpClient オブジェクトを作成します。
    MailMessage mail = new MailMessage();
    SmtpClient smtp = new SmtpClient("smtp.gmail.com");
    
  • ここで、送信者、受信者、件名、本文などのプロパティの値を割り当てます。
    mail.To.Add(sendtotxt.Text);
    mail.Subject = subjecttxt.Text;
    var htmlbody = "Here your can write your html";
    mail.Body = htmlbody;
    smtp.Port = 587;
    smtp.Credentials = new System.Net.NetworkCredential(usertxt.Text, passtxt.Text);
    
  • SSL を有効にして、メッセージを送信します。
    smtp.EnableSsl = true;
    smtp.Send(mail);
    

完全なソース コード

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.Mail;

namespace EmailExample {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void sendbtn_Click(object sender, EventArgs e) {
      try {
        MailMessage mail = new MailMessage();
        SmtpClient smtp = new SmtpClient("smtp.gmail.com");
        mail.From = new MailAddress(usertxt.Text);
        mail.To.Add(sendtotxt.Text);
        mail.Subject = subjecttxt.Text;
        var htmlbody = "Here your can write your html";
        mail.Body = htmlbody;
        smtp.Port = 587;
        smtp.Credentials = new System.Net.NetworkCredential(usertxt.Text, passtxt.Text);
        smtp.EnableSsl = true;
        smtp.Send(mail);
        MessageBox.Show("Mail Sent!");
      } catch (Exception ex) {
        MessageBox.Show(ex.Message);
      }
    }
  }
}

出力:

C# HTML メール送信 - 出力

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

関連記事 - Csharp Email