Vb.net-send-email

提供:Dev Guides
移動先:案内検索

VB.Net-メールを送信

VB.Netでは、アプリケーションから電子メールを送信できます。 System.Net.Mail 名前空間には、配信のためにSMTP(Simple Mail Transfer Protocol)サーバーに電子メールを送信するために使用されるクラスが含まれています。

次の表は、これらの一般的に使用されるクラスの一部を示しています-

Sr.No. Class & Description
1

Attachment

電子メールの添付ファイルを表します。

2

AttachmentCollection

電子メールメッセージの一部として送信される添付ファイルを保存します。

3

MailAddress

電子メールの送信者または受信者のアドレスを表します。

4

MailAddressCollection

電子メールメッセージに関連付けられている電子メールアドレスを格納します。

5

MailMessage

SmtpClientクラスを使用して送信できる電子メールメッセージを表します。

6

SmtpClient

アプリケーションがSMTP(Simple Mail Transfer Protocol)を使用して電子メールを送信できるようにします。

7

SmtpException

SmtpClientがSendまたはSendAsync操作を完了できない場合にスローされる例外を表します。

SmtpClientクラス

SmtpClientクラスを使用すると、アプリケーションはSMTP(Simple Mail Transfer Protocol)を使用して電子メールを送信できます。

以下は、SmtpClientクラスのいくつかの一般的に使用されるプロパティです-

Sr.No. Property & Description
1

ClientCertificates

Secure Sockets Layer(SSL)接続を確立するために使用する証明書を指定します。

2

Credentials

送信者の認証に使用される資格情報を取得または設定します。

3

EnableSsl

SmtpClientがSecure Sockets Layer(SSL)を使用して接続を暗号化するかどうかを指定します。

4

Host

SMTPトランザクションに使用されるホストの名前またはIPアドレスを取得または設定します。

5

Port

SMTPトランザクションに使用されるポートを取得または設定します。

6

Timeout

同期送信呼び出しがタイムアウトするまでの時間を指定する値を取得または設定します。

7

UseDefaultCredentials

DefaultCredentialsを要求とともに送信するかどうかを制御するブール値を取得または設定します。

以下は、SmtpClientクラスのいくつかの一般的に使用されるメソッドです-

Sr.No. Method & Description
1

Dispose

QUITメッセージをSMTPサーバーに送信し、TCP接続を正常に終了し、SmtpClientクラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

2

Dispose(Boolean)

QUITメッセージをSMTPサーバーに送信し、TCP接続を正常に終了し、SmtpClientクラスの現在のインスタンスによって使用されているすべてのリソースを解放し、オプションで管理対象リソースを破棄します。

3

OnSendCompleted

SendCompletedイベントを発生させます。

4

Send(MailMessage)

指定されたメッセージを配信のためにSMTPサーバーに送信します。

5

Send(String, String, String, String)

指定された電子メールメッセージを配信のためにSMTPサーバーに送信します。 メッセージの送信者、受信者、件名、およびメッセージ本文は、Stringオブジェクトを使用して指定されます。

6

SendAsync(MailMessage, Object)

指定された電子メールメッセージを配信のためにSMTPサーバーに送信します。 このメソッドは呼び出し側のスレッドをブロックしないため、呼び出し側は操作の完了時に呼び出されるメソッドにオブジェクトを渡すことができます。

7

SendAsync(String, String, String, String, Object)

電子メールメッセージを配信のためにSMTPサーバーに送信します。 メッセージの送信者、受信者、件名、およびメッセージ本文は、Stringオブジェクトを使用して指定されます。 このメソッドは呼び出し側のスレッドをブロックしないため、呼び出し側は操作の完了時に呼び出されるメソッドにオブジェクトを渡すことができます。

8

SendAsyncCancel

電子メールメッセージを送信するための非同期操作をキャンセルします。

9

SendMailAsync(MailMessage)

非同期操作として配信するために、指定されたメッセージをSMTPサーバーに送信します。

10

SendMailAsync(String, String, String, String)

非同期操作として配信するために、指定されたメッセージをSMTPサーバーに送信します。 。メッセージの送信者、受信者、件名、およびメッセージ本文は、Stringオブジェクトを使用して指定されます。

11

ToString

現在のオブジェクトを表す文字列を返します。

次の例は、SmtpClientクラスを使用してメールを送信する方法を示しています。 この点で次の点に注意してください-

 *電子メールの送信に使用するSMTPホストサーバーを指定する必要があります。* Host *および *Port* プロパティは、ホストサーバーごとに異なります。 Gmailサーバーを使用します。
* SMTPサーバーで必要な場合は、認証用の *Credentials* を提供する必要があります。
* また、それぞれ *MailMessage.From* プロパティと *MailMessage.To* プロパティを使用して、送信者の電子メールアドレスと受信者の電子メールアドレスを指定する必要があります。
* また、 *MailMessage.Body* プロパティを使用してメッセージの内容を指定する必要があります。

この例では、電子メールを送信する単純なアプリケーションを作成します。 次の手順を実行します-

  • フォームに3つのラベル、3つのテキストボックス、およびボタンコントロールを追加します。
  • ラベルのテキストプロパティを-「From」、「To:」、「Message:」にそれぞれ変更します。
  • テキストの名前プロパティをそれぞれtxtFrom、txtToおよびtxtMessageに変更します。
  • ボタンコントロールのテキストプロパティを「送信」に変更します
  • コードエディターで次のコードを追加します。
Imports System.Net.Mail
Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.
      Me.Text = "finddevguides.com"
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Try
         Dim Smtp_Server As New SmtpClient
         Dim e_mail As New MailMessage()
         Smtp_Server.UseDefaultCredentials = False
         Smtp_Server.Credentials = New Net.NetworkCredential("username@gmail.com", "password")
         Smtp_Server.Port = 587
         Smtp_Server.EnableSsl = True
         Smtp_Server.Host = "smtp.gmail.com"

         e_mail = New MailMessage()
         e_mail.From = New MailAddress(txtFrom.Text)
         e_mail.To.Add(txtTo.Text)
         e_mail.Subject = "Email Sending"
         e_mail.IsBodyHtml = False
         e_mail.Body = txtMessage.Text
         Smtp_Server.Send(e_mail)
         MsgBox("Mail Sent")

      Catch error_t As Exception
         MsgBox(error_t.ToString)
      End Try
   End Sub
  • 資格情報には、Gmailアドレスと実際のパスワードを入力する必要があります。
  • 上記のコードが実行され、Microsoft Visual Studioのツールバーにある[スタート]ボタンを使用して実行されると、次のウィンドウが表示されます。このウィンドウを使用して、電子メールを送信します。

VB.Netからのメールの送信