MacのVisual StudioでMailKitを使用する方法

2021年11月23日火曜日

C# MailKit

t f B! P L

2017年に.NET標準のSystem.Net.Mail.SmtpClientが廃止予定となり、Microsoftより今後はオープンソースライブラリである、MailKitに置き換えるとアナウンスがありました。

この記事では、MacのVisual StudioでMailKitを使う方法を解説します。

スポンサーリンク

NuGetでMailKitのパッケージを追加する

MacのVisual Studioを起動しプロジェクトを作成したら、ソリューションエクスプローラから、[依存関係][パッケージの追加] を選択します。

enter image description here

右上の検索窓に"mailkit"と入力すると、検索結果の先頭に「MailKit」のパッケージが表示されます。左側にあるチェックを付けて [パッケージの追加] をクリックします。

enter image description here

利用規約の内容を確認して [同意する] をクリックします。

MailKitの利用規約同意画面で同意するをクリック

MailKitのパッケージのダウンロードが完了すると、 [依存関係][NuGet] の下に MailKitのパッケージが追加されます。

パッケージのダウンロードが完了すると、依存関係にMailKitが追加される

メールを送ってみる

NuGetでMailKitがインストールできたら、実際にメールを送信するコードを書いて、メールを送信してみましょう。以下がMailKitでメールを送るためのサンプルコードです。

var host = "<smtp server name>";
var port = 25; // or 587

using (var smtp = new MailKit.Net.Smtp.SmtpClient()) {

    //SMTPサーバに接続する
    smtp.Connect(host, port, MailKit.Security.SecureSocketOptions.Auto);
    //認証が必要な場合は、以下のコメントを解除
    //smtp.Authenticate("<id>", "<password>");

    //送信するメールを作成する
    var mail = new MimeKit.MimeMessage();
    var builder = new MimeKit.BodyBuilder();
    mail.From.Add(new MimeKit.MailboxAddress("", "<from mail address>"));
    mail.To.Add(new MimeKit.MailboxAddress("", "<to mail address>"));
    mail.Subject = "メールの件名";
    builder.TextBody = "メールの本文です。\n\n以上";
    mail.Body = builder.ToMessageBody();

    //メールを送信する
    smtp.Send(mail);

    //SMTPサーバから切断する
    smtp.Disconnect(true);
}

詳細なサンプルコードは、以下のリンクで紹介していますので、合わせて見てください。

# MailKitの使い方! エンコーディング指定でメールを送信する

スポンサーリンク

さいごに

MacのVisual StudioでMailKitを使う方法を解説してきました。System.Net.Mail.SmtpClientは既に廃止されたAPIですので、今後は積極的にMailKitを使いましょう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ