C# を使用して HTML 形式のメールを送信する
Muhammad Zeeshan
2023年10月12日
![C# を使用して HTML 形式のメールを送信する](/img/Csharp/csharp-send-html-email---windows-form.webp)
この記事では、ASP.Net で C# を使用して HTML 形式のメールを送信する方法について説明します。
SMTP 経由での電子メールの送信は、現在の Gmail アカウントまたはまったく新しいアカウントでテストできます。 通信には Gmail Mailer クライアントを使用できます。
C#
を使用して HTML 形式の電子メールを送信する Windows フォームを作成する
-
ユーザー名
のラベルとテキスト ボックスを追加します。 これが送信者のユーザー名になります。 -
Password
のラベルとテキスト ボックスを追加します。 送信者アカウントのパスワードになります。 -
Sendto
のラベルとテキスト ボックスを追加します。 受信者のメールアドレスになります。 -
件名
またはタイトルのラベルとテキスト ボックスを追加します。 -
最後に、
Send Mail
という名前のボタンを作成します。完全なフォームは次のようになります。
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);
}
}
}
}
出力:
著者: Muhammad Zeeshan
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