C# - よく使うクラス - System.Net.Mail
- 1. 概要
- 2. SmtpClient、MailMessage
1. 概要
参考サイト、まんま引用しますが。
配信用の電子メールを SMTP (Simple Mail Transfer Protocol) サーバーに送信するときに使用されるクラスが含まれます。
とのことで、わたしは、2つのクラスを使います。
本ページは、下記のサイトを参考にさせていただきました。
「System.Net.Mail 名前空間」
「SmtpClient クラス (System.Net.Mail) 」
「MailMessage クラス (System.Net.Mail)」
2. SmtpClient、MailMessage
「SmtpClient」で、メールサーバに接続するクライアントの定義・送信を行います。
「MailMessage」で、メールのメッセージ内容を定義します。
using System;
public class Program
{
static public void Main ()
{
System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
sc.Host = "メールサーバ名";
sc.Port = ポート番号;
sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
sc.EnableSsl = false;
sc.Credentials = new System.Net.NetworkCredential("アカウント", "パスワード");
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.From = new System.Net.Mail.MailAddress("送信元メールアドレス");
msg.To.Add(new System.Net.Mail.MailAddress("送信先メールアドレス"));
msg.Subject = "件名";
msg.Body = "メッセージ本文";
try
{
sc.Send(msg);
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
finally
{
msg.Dispose();
sc.Dispose();
}
}
}
てなソースを作成して、実行すると。
件名、メッセージ本文を記述したメールが、送信先メールアドレスへ送信されます。
ポート番号には、25 もしくはサブミッションポートの 587 を設定します。
「SSL」接続の 487 は、認証がうまくいかないのか、送信できません。
「Mono」を使用すると、ビルド時に。
warning CS0618: `System.Net.Mail.SmtpClient' is obsolete: `SmtpClient and its network of types are poorly designed, we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead'
てなメッセージが表示されまして。
「GitHub - jstedfast/MailKit: A cross-platform .NET library for IMAP, POP3, and SMTP.」
「GitHub - jstedfast/MimeKit: A .NET MIME creation and parser ... for S/MIME, ... and Unix mbox spools.」
という方を使うように、促されます。
|
|