質問: すると「SmtpClient」に緑波線が付き、コンパイルすると以下の警告が表示されました。 警告 CS0618 'SmtpClient' は旧形式です ('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') 試しにVisual Studio 2015でC#のWindowsアプリを新規作成して同じソースをコピペしたところ、警告は表示されませんでした。 同じVS2015を使用し、C#で記述していますが、Android用だけ警告が表示される状況です。 Webで検索しても同じ現象の情報は発見出来ませんでした。 また、警告に表示されたURLを見てもよくわかりませんでした。 何か追加インストールが必要なのでしょうか? 対処方法を教えて下さい。 よろしくお願いします。
回答: > > 'SmtpClient' は旧形式です ('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') > > > 「SmtpClient は設計が不十分なので使わないで欲しい。代わりに MailKit と MimeKit を使ってください。」 と言っていますね。 * jstedfast/MailKit: A cross-platform .NET library for IMAP, POP3, and SMTP. で、 StmpClient の代わりにメール送信ができます。 まず、 nuget パッケージマネージャから * MailKit 1.4.0 を追加します(一緒に MimeKit もインストール)されます。 使い方は上記URLの Sending Messages にも載っていますが、 ``` using MailKit.Net.Smtp; using MailKit; using MimeKit; <省略> using (var client = new SmtpClient ()) { client.Connect ("smtp.friends.com", 587, false); // Note: since we don't have an OAuth2 token, disable // the XOAUTH2 authentication mechanism. client.AuthenticationMechanisms.Remove ("XOAUTH2"); // Note: only needed if the SMTP server requires authentication client.Authenticate ("joey", "password"); client.Send (message); client.Disconnect (true); } ``` なので、 SmtpClient とほぼ同じように使えます。 iOS, Android などクロスプラットフォームで使えますし、開発者が Xamarin の人のようなので品質的にも問題ないと思います。 サンプルプログラムが * MailKit/samples at master · jstedfast/MailKit にあるので、こちらも参考になるかと思います。