程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> メールの送信

メールの送信

編輯:.NET實例教程

メールの送信


サンプル コードのダウンロード (vbmigtips_mail.exe, 98.7 KB)


メールの送信機能を持ったアプリケーションを作成する場合、Visual Basic 6.0 では、Microsoft MAPI Controls 6.0 を使用していました。一方、Visual Basic .NET では、System.Web.Mail 名前空間 の SmtpMail クラスを使用しメールの送信機能を実裝することができます。Mail.SmtpMail クラスは、CDOSYS (Collaboration Data Objects for Windows 2000) メッセージ コンポーネントを使用して、メール送信を実現しています。そこで今回は、Visual Basic .Net でメールの送信機能を持ったアプリケーション (図1) を作成する方法を紹介します。

 
 図1

「送信」ボタンをクリックすると、メールが送信され送信終了のメッセージボックスが表示されます。「送信」ボタンの実裝コードは以下のとおりです (事前に、[參照設定]で「System.Web」を追加しておく必要があります)。

$False$


Private mm As New System.Web.Mail.MailMessage
Private ma As System.Web.Mail.MailAttachment
Private file As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
mm.From = txtForm.Text
mm.To = txtTo.Text
mm.Subject = txtSubject.Text
mm.Body = txtBody.Text
If file <> Nothing Then
ma = New System.Web.Mail.MailAttachment(file, Web.Mail.MailEncoding.Base64)
mm.Attachments.Add(ma)
End If
System.Web.Mail.SmtpMail.Send(mm)

txtForm.Clear()
txtTo.Clear()
txtSubject.Clear()
txtBody.Clear()

Me.Refresh()
MessageBox.Show("メールを送信しました。", "送信終了")
Catch ex As Exception
MessageBox.Show("送信できませんでした。", "エラー")
End Try
End Sub リスト1

MailMessage クラスの From プロパティに差出人 (受信者) を、To プロパティに送信先を、Subject プロパティにメールの件名を、 Body プロパティにメールの本文をそれぞれ設定します。また、Attachments プロパティで本文とともに送信する添付ファイルを設定します。上記 (リスト1) のコードを実裝し、図1 の「送信」ボタンをクリックすると、メールが送信されます。そして、各テキストボックスのデータが削除され、図2 の送信完了の通知が表示されます。

 


 図2

リスト1 を実裝しても、添付ファイルを送信することはできません。次は、下記のコードを実裝して、添付ファイルを指定できるようにします。


Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim ofd As New OpenFileDialog
ofd.InitialDirectory = "C:\work"
ofd.Filter = "すべてのファイル(*.*)|*.*"
ofd.Title = "添付するファイルを選択してください"
ofd.RestoreDirectory = True
If ofd.ShowDialog() = DialogResult.OK Then
file = ofd.FileName
txtAttachment.Text = System.IO.Path.GetFileName(file)
End If
End Sub リスト2

図1 の「...」ボタンをクリックすると、ダイアログボックス (図3) を開き、添付するファイルを指定します。

 
 図3

上記 (リスト2) の「ofd.InitialDirectory = "C:\work"」でダイアログボックスが表示されたときのデフォルトフォルダを指定します。「ofd.Filter = "すべてのファイル(*.*)|*.*"」で[ファイルの種類]に表示される選択肢を指定し、「ofd.Title = "添付するファイルを選択してください"」でダイアログボックスのタイトルを指定します。そして、「If ofd.ShowDialog() = DialogResult.OK Then」の「ofd.ShowDialog()」でダイアログボックスを表示し、[OK]ボタンをクリックされると、「file = ofd.FileName」で選択されたファイル名 (パス) を取得し、「txtAttachment.Text = System.IO.Path.GetFileName(file)」で、拡張子を含むファイル名のみをテキストボックスに表示されます (図4)。ファイルパスからファイル名 (拡張子を含む) を取得する場合、System.IO 名前空間の Path クラスで GetFileNameメソッドを使用します。

 
 図4

これにより、図1 のアプリケーションで添付するファイルを指定し、メールで送信することができます。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved