vb.net - 如何搜索文件并将其附加到电子邮件
问题描述
我有一个 CheckedListbox(从 mysql 数据库导入),其中列出了保存文件的所有文件夹。我需要做的是为 CheckListbox 中的每个选中项目搜索文件夹,然后将该文件夹中的文件附加到邮件中。
我所做的是创建一封电子邮件并仅使用一个附件发送。只需:“电子邮件。附件。添加”。将生成邮件并将找到的文件附加并发送。
但是当我在 FOR EACH LOOP 中这样做时,将不会选择任何文件并将其添加到我的邮件中。邮件将生成并发送,没有任何错误,但没有附件。
Private Sub SendMail()
Dim Smtp_Server As New SmtpClient
Dim e_mail As New MailMessage()
Smtp_Server.UseDefaultCredentials = False
Smtp_Server.Credentials = New Net.NetworkCredential("MAIL", "PASS")
Smtp_Server.Port = 587
Smtp_Server.EnableSsl = True
Smtp_Server.DeliveryMethod = SmtpDeliveryMethod.Network
Smtp_Server.Host = "HOST"
If MonthTextBox.Text = "" Or MonthTextBox.ForeColor = Color.Silver Then
MsgBox("Input month please", Title:="MO Text Box")
Else
Dim MOTextValue As String = MonthTextBox.Text
Dim nowYear As Integer = Date.Now.Year
For Each itemchecked As DataRowView In CheckedListBoxWO.CheckedItems
Dim File_path As String = "C:\Test\" & itemchecked.Item(1) & "\" & nowYear & "\" & MOTextValue & "\"
Dim File_Name As String = Dir("C:\Test\" & itemchecked.Item(1) & "\" & nowYear & "\" & MOTextValue & "\File " & MOTextValue & "*.xlsx")
Dim attachmentFile As Net.Mail.Attachment = New Net.Mail.Attachment(File_path & File_Name)
e_mail.Attachments.Add(attachmentFile)
Next
Dim sb As New System.Text.StringBuilder
sb.AppendLine("Hello,<br />")
sb.AppendLine("<br />")
sb.AppendLine("Test Attachment,<br />")
sb.AppendLine("<br />")
sb.AppendLine("------------------------------------------<br />")
e_mail.From = New MailAddress("MY MAIL")
e_mail.To.Add("EMAIL")
e_mail.Subject = ("TESTFILE - " & MOTextValue & "")
e_mail.SubjectEncoding = System.Text.Encoding.UTF8
e_mail.IsBodyHtml = True
e_mail.Priority = MailPriority.Normal
e_mail.Body = sb.ToString()
e_mail.BodyEncoding = System.Text.Encoding.UTF8
Smtp_Server.Send(e_mail)
End If
MsgBox("Mails was sent", Title:="Mail")
End Sub
就像我用这段代码所说的那样,将创建并发送邮件,但其中没有附件文件。如果我在没有“FOR EACH”...循环的情况下执行此操作,那么将毫无问题地添加一个文件。但是我需要添加更多文件,实际上对于 CheckedListBox 中的每个选中项目,我的程序都应该搜索该文件夹,如果有文件而不是将其附加到邮件中,然后查看另一个文件夹等等......
解决方案
代码实际上是有效的,我的问题是对这个 CheckListBox 的引用不正确,我有多个 CheckListBox,并且代码中的一个不是我实际使用的那个......但是从好的一面看,代码正在工作中 :)
推荐阅读
- r - 如何按轴对条形图中的条形进行着色?
- amazon-web-services - 有没有办法可以将 python 输出与 AWS 中 dynamoDB 中存在的数据进行比较?
- python - foreach 失败的并行网状调用
- python-jira - python-jira 集成未能显示项目中问题的史诗
- android - 使用 AWS Amplify API 时的 Android java.lang.NoSuchFieldError
- c - 为什么即使分配给相同类型的另一个结构,该结构仍保持为 NULL?
- ios - 发布后反应原生iOS构建失败
- ubuntu - Grafana 图像渲染器插件无法安装 - 签名已被修改
- c# - 如何检查给定地址是 32 位还是 64 位?
- reactjs - 无法在 React Native 中使用 Scrollview 滚动