C#は、.NET Frameworkを使用して、特にSMTPプロトコルを介して、かなり簡単に電子メールを送信することができます。SMTPプロトコルは、電子メールを送信する一般的な方法です。.
SMTPメールの送信にはSMTPサーバーが必要なので、グーグルのGmailサーバーを使うのが一番簡単だろう。そのためにはGmailのアカウントが必要で、作成は簡単で無料です。Gmailアカウントがあれば、C#でSMTPメールを送信するのは簡単です。コツは、System.Web.Mailの代わりにSystem.Net.Mail名前空間を使うことです。2番目の名前空間は、.NET Framework 2.0からSystem.Netに置き換えられました。.
しかし、グーグルのサーバーに接続するにはどうすればいいのか?いくつかの情報が必要だ。1つ目は、GmailのSMTPサーバー・アドレスがsmtp.gmail.comであること。2つ目は、C#アプリケーションはポート587を通して接続しなければならない、ということです。なぜこのことがわかるのか?この情報はGoogleから開発者に自由に提供されています。他のSMTPサーバーも、接続するための独自のアドレスとポートを提供しています。.
ほとんどのSMTPサーバーは、メールを送信するために認証が必要です。そこで、Gmailアカウントの出番です。NetworkCredential .NETクラスを使って、ユーザー名とパスワードを指定します。これでサーバーとの接続が認証されます。ユーザー名に@gmail.comが含まれていることを確認してください。.
すべてはSmtpClientクラスを通して処理される。このクラスは、添付ファイルの追加やHTMLメールの送信など、かなり強力な機能をカプセル化しています。HTMLメールとは、HTMLコードで記述され、ウェブ・ページのように表示されるメールのことです。メールクライアントにもよりますが、ほとんどのクライアントは問題なくHTMLメールを読むことができるので、C#アプリケーションで画像や書式付きテキストを含むメールを送信することができます。SmtpClientクラスでは、開発者がヘッダーを追加することもでき、電子メールの動作を微調整できます。ただし、Googleのように、特定のヘッダを無視してアカウントの情報のみを使用するSMTPサーバもあるので注意してください。例えば、Fromフィールドを他のものに設定しても、GMailでは無視され、自動的にあなたのメールアドレスに設定されます。.
最後に、C#アプリケーションでSSLが有効になっていることを確認してください。SSLは暗号化プロトコルで、絶対に必要です。そうしないとGmailのサーバーは接続を受け付けません。.
