我使用Visual Studio 2015使用EA Sendmail庫創建簡單的發送郵件程序。 我嘗試發送「D:\ tmp \ pic.jpg」,發送成功後我會通過命令 remove("D:\\tmp\\pic.jpg")
從#include<stdio.h>
刪除它。但是這個文件還在嗎?我的錯誤是什麼?如何在C++中使用EA Sendmail發送郵件後刪除附件文件?
1
A
回答
0
如果這是Windows,則可能發生三件事: 1.文件仍被髮送郵件的延遲操作阻塞。 2.文件被防病毒攔截,雖然它可能掛鉤ffile打開活動,但一些AV只是阻止文件刪除\文件移動。 3.權限問題。你正在使用非標準的文件夾,在磁盤的根目錄中,最有可能的是從根目錄繼承權限。在你的具體情況下,你編程運行不足(未升級?)priveleges。 4. UTF-16路徑問題。你提供的是真正的道路嗎?
您正在使用標準庫中的remove()嗎?那一個基於Windows API的POSIX「模擬」層,缺乏特定於Windows的功能..您無法確定實際原因,無法操作ACL \權限並僅支持路徑中的Latin1。 Windows支持NTFS上的Unicode(UTF-16),但要使用它,您需要從接受widechar字符串的「本機」API調用函數(DeleteFileW)。 Windows API允許獲得比POSIX更多的錯誤代碼狀態。另外,Windows有機制來監視\等待文件,如果它是由其他操作打開的,但是隻有高級用戶可用,不幸的是,這是taskmgr的內核級驅動程序。
相關問題
- 1. 發送電子郵件附件後刪除c#文件
- 2. 作爲郵件附件發送後刪除pfd文件
- 3. 如何在asp.net C#中發送電子郵件後刪除附件?
- 4. 通過SmtpClient(ASP.NET MVC)發送郵件後刪除附加文件
- 5. 用C#發送郵件附件郵件
- 6. 發送powershell後刪除電子郵件附件
- 7. 如何(通過郵件觀察者)在電子郵件發送後刪除臨時(生成的附件)文件?
- 8. 使用unix sendmail發送郵件
- 9. Sendmail命令發送文件作爲電子郵件正文以及附件
- 10. Swiftmailer刪除附件後發送
- 11. Drupal Webform - 發送然後刪除附件
- 12. 如何使用WCF發送電子郵件附件/小文件?
- 13. 如何用附件發送郵件
- 14. 如何用郵件發送附件()
- 15. 用附件發送郵件
- 16. 如何使用sendmail將文件作爲附件發送到bash腳本中?
- 17. 如何使用wp_mail郵件發送附件郵件
- 18. 使用郵件()發送附件並在PHP4中的電子郵件中發送附件和文本/ html
- 19. 如何用Android中的文件附件發送電子郵件
- 20. 發送郵件附件
- 21. 如何發送HTML電子郵件附件和sendmail軟件UNIX的ksh
- 22. 用Symfony2發送電子郵件後,刪除臨時文件
- 23. 如何在Python中使用pdf附件發送電子郵件?
- 24. 如何使用多個附件發送郵件,在java中
- 25. PHP如何在沒有sendmail的情況下使用郵件發送郵件()?
- 26. 如何在發送郵件後刪除SD卡中的圖像文件?
- 27. Outlook VBA發送後刪除郵件
- 28. Sendmail如何停止向外部郵件發送郵件
- 29. 如何附加一個文件發送郵件使用PHP
- 30. 使用Java發送郵件附件
你檢查了['remove()'](http://en.cppreference.com/w/cpp/io/c/remove)的返回碼嗎? –
@πάνταῥεῖ,它返回-1? –
所以出了點問題?可能該文件仍在使用中,只要發送郵件尚未完成。 –