台灣最大程式設計社群網站
線上人數
809
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> VB.NET >> E-mail完成寄信後,附件無法刪除
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
E-mail完成寄信後,附件無法刪除
價值 : 100 QP  點閱數:484 回應數:5
樓主

大鵰
初學者
50 48
1520 86
發送站內信

E-mail完成寄信後,附件(PDF格式)無法利用檔案總管刪除。必須先關閉程式後,才能刪除該附件。
刪除檔案時出現錯誤右列訊息:vshost.exe已開啟此檔案,所以無法完成此動作。請關閉檔案,然後再試一次。
相關程式片段如下:

_E_Mail="11@abc.com.tw;22@abc.com.tw;33@abc.com.tw"
SendFile = "D:\Temp\PDF\" & Pay_A1 & "_" & _Number & "_" & Trim(_F_Type) & ".PDF"
If My.Computer.FileSystem.FileExists(SendFile) = True Then
_tmpArray = Split(_E_Mail, ";") '收件者
SendToE_mail(_tmpArray, _Name, SendFile)
End If

Private Sub SendToE_mail(ByVal _tmpArray As Array, ByVal _Name As String, ByVal _SendFile As String)
' 收件者陣列, 姓名, 附件檔名(含路徑)

For i = 0 To _tmpArray.Length - 1
If _tmpArray(i) <> "" Then mail.To.Add(New MailAddress(_tmpArray(i))) '收件者
Next
mail.Priority = MailPriority.High '優先等級
mail.Subject = "XXXX工業" & Pay_A1 & "薪資明細表-" & _Name ' 主旨
mail.Body = "薪資明細如附件" ' 本文

Try
' 加入附檔
If _SendFile <> "" Then
attachedFile = New Attachment(_SendFile)
mail.Attachments.Add(attachedFile)
End If
' 設定SMTP伺服器
smtpServer.Host = "abc.com.tw"
smtpServer.Send(mail)

mail.To.Clear() '清除收件者
mail.Attachments.Clear() '清除附檔
_SendSuccess = "Y"
_ex_Message = ""
'MsgBox("郵件已經成功寄出......")
Catch ex As Exception
_SendSuccess = "N"
_ex_Message = ex.Message.ToString
'MsgBox("郵件寄送失敗: " & ex.Message)
End Try
End Sub




搜尋相關Tags的文章: [ E-mail ] , [ 附件 ] , [ 刪除檔案 ] , [ PDF ] , [ 檔案鎖定 ] ,
本篇文章發表於2017-06-26 14:45
1樓
回應

JoJo
檢舉此回應
system.net.mail Attching file gets locked
本篇文章回覆於2017-06-26 16:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

大鵰
檢舉此回應
不好意思,我現在用的版本是VS2008, 我也知道是附件被鎖定,才會無法刪除附件,
但是不知道要用哪一個指令才能解除附件被鎖定的問題...
本篇文章回覆於2017-06-26 16:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

大鵰
檢舉此回應
mail.Attachments.Remove也不行、mail.Attachments.clear也不行,
有迴圈,也不能Dispose掉,所以才來發問
本篇文章回覆於2017-06-26 17:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

小魚
檢舉此回應
1樓大大給的網頁你有仔細看過嗎?
他裡面有個Dispose的方法有試過嗎?
本篇文章回覆於2017-06-26 19:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

大鵰
檢舉此回應
謝謝4樓大大,我在3樓有提到 [有迴圈,也不能Dispose掉] 喔
本篇文章回覆於2017-06-27 07:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.