お世話になります
Vb.Netで リストボックスにファイルを添付して、メールを送信しております
リストボックス内で添付ファイルの有無をチェックして、無い場合はエラーを出したいと思います
以下のコードでメール送信を行う事は出来ますが、添付ファイルがない場合でも、メール送信が出来ますので
添付ファイルがない場合は、エラーメッセージを出したく思います
送信
Private Sub Send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Send.Click
If ToAddress.Text = "" Or from.Text = "" Then
MsgBox("You must enter both To and From email addresses.")
Exit Sub End If
Dim mailMsg As New MailMessage(New MailAddress(from.Text.Trim, TextBox4.Text), New MailAddress(ToAddress.Text.Trim))
With mailMsg
If Not String.IsNullOrEmpty(CC.Text) Then
.CC.Add(New MailAddress(CC.Text.Trim))
End If
If Not String.IsNullOrEmpty(BCC.Text) Then
.Bcc.Add(New MailAddress(BCC.Text.Trim))
End If
.Subject = textbox2.Text .Body = textbox3.Text
Dim body As String = textbox3.Text
Dim subject As String = textbox2.Text
If Not IsNothing(arlAttachments) Then
Dim mailAttachment As Attachment
For Each mailAttachment In arlAttachments
.Attachments.Add(mailAttachment)
Next End If End With
Try
Dim Client As New System.Net.Mail.SmtpClient()
Client.Host = "smtpサーバ"
Client.Port = ポート番号
Client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
Client.Credentials = New System.Net.NetworkCredential("user", "pw")
Client.Send(mailMsg)
Attachments.Items.Clear()
Attachments.Items.Add("(No Attachments)")
MessageBox.Show("Your email has been successfully sent!", _
"Email Send Status", MessageBoxButtons.OK, _
MessageBoxIcon.Information)
Catch exp As Exception
MessageBox.Show("The following problem occurred when attempting to " & _
"send your email: " & exp.Message, _
Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try End Sub
添付ファイルの選択
Private Sub Browse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Browse.Click
With odlgAttachment
.InitialDirectory = "C:\"
.Filter = "All Files (*.*)|*.*|HTML Files (*.htm;*.html)|*.htm|Microsoft Mail Documents (*.msg)|*.msg|Word Documents (*.doc)|*.doc|Excel Files(*.xl*)|*.xl*|Excel Worksheets (*.xls)|*.xls|Excel Charts (*.xlc)|*.xlc|PowerPoint Presentations (*.ppt)|*.ppt|Text
Files (*.txt)|*.txt"
.FilterIndex = 1
If .ShowDialog() = Windows.Forms.DialogResult.OK Then
If IsNothing(arlAttachments) Then
arlAttachments = New ArrayList()
Attachments.Items.Clear()
End If
arlAttachments.Add(New Attachment(.FileName))
Dim strFileName() As String = .FileName.Split(New Char() {CChar("\")})
System.Array.Reverse(strFileName)
Attachments.Items.Add(strFileName(0))
End If
End With
End Sub
となっております。上記の場合、添付ファイルがあってもなくてもメール送信を行う事が出来ます。
ボタン1をクリックして、Cドライブを表示させて、ファイルを添付させます。
添付ファイルを表示するListbox名は、attachmentsになります。
添付ファイルがない場合は、エラーメッセージを出すためにはどうすれば良いでしょうか?
ご教授下さい
宜しくお願いします