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.
 という方を使うように、促されます。
AbemaTV 無料体験