Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
If EMailTo = "" Then
Try
Dim mails As String = " " & Trim(EMailFrom) & " "
Dim mailscc As String = "" & Trim(EMailToS) & " "
Dim smtpserver As New SmtpClient()
Dim mail As New MailMessage()
smtpserver.Credentials = New Net.NetworkCredential("user@****.com", "pw")
smtpserver.Port = 25
smtpserver.Host = "mail.****.com"
mail = New MailMessage()
mail.From = New MailAddress(UsrM)
mail.To.Add(mails)
mail.CC.Add(mailscc)
mail.Subject = " TPE " & U1.Text & " 請假單,請假單號 " & tempSeqNO & ",請假日期 From " & BDD & " TO " & EDD & " 共 " & Tdays & " 天 " & ATimes & " 小時," & UserCName & "已經同意代理 "
mail.Body = "" & Remark & ""
mail.Attachments.Add(New Attachment("D:\test.jpg")) '因附加此圖檔當按Button2次時造成GDI錯誤
smtpserver.Send(mail)
MsgBox("Mail Sent")
Catch ex As Exception
Close()
End Try
Else
Try
Dim mails As String = " " & Trim(EMailTo) & " "
Dim mailscc As String = "" & Trim(EMailToS) & " "
Dim smtpserver As New SmtpClient()
Dim mail As New MailMessage()
smtpserver.Credentials = New Net.NetworkCredential("user@****.com", "pw")
smtpserver.Port = 25
smtpserver.Host = "mail.****.com"
mail = New MailMessage()
mail.From = New MailAddress(UsrM)
mail.To.Add(mails)
'mail.CC.Add(mailscc)
mail.Bcc.Add("user@****.com")
mail.Subject = " TPE " & U1.Text & " 請假單,請假單號 " & tempSeqNO & ",請假日期 From " & BDD & " TO " & EDD & " 共 " & Tdays & " 天 " & ATimes & " 小時," & UserCName & "已經同意代理 "
mail.Body = "" & Remark & ""
mail.Attachments.Add(New Attachment("D:\test.jpg")) '因附加此圖檔當按Button2次時造成GDI錯誤
smtpserver.Send(mail)
MsgBox("Mail Sent")
Catch ex As Exception
Close()
End Try
End If
End Sub
----------------------------------------------------------------------------
檔案被載入時,檔案會被獨佔,所以不能二次載入。
要避免此狀況先檢視多載參數,例如 Attachment 允許 Stream ,所以可以將檔案用 FlieStream 讀入後,寫入 MemoryStream ,再關閉 FileStream 後,把 MemoryStream 給 Attachment 當參數即可。 |