मैं asp.net में मेल भेजने के लिए System.Net.Mail का उपयोग कर रहा हूं .. अनुलग्नक मेल के रूप में भेजने के बाद अनुलग्नक फ़ाइल को कैसे हटाएं .. मैंने फ़ाइल.डिलेट विधि का उपयोग करने का प्रयास किया .. लेकिन मुझे यह त्रुटि मिल रही है .. प्रक्रिया फ़ाइल पथ \ fun.jpg 'तक नहीं पहुंच सकती है क्योंकि इसका उपयोग किसी अन्य प्रक्रिया द्वारा किया जा रहा है। धन्यवादअटैचमेंट फ़ाइल हटाएं
उत्तर
MailMessage के निपटान जब आप इसे पूरा कर चुके हैं। यह तब भी आपके द्वारा अटैचमेंट के रूप में जोड़े गए फ़ाइल पर लॉक है जब तक आप ऐसा नहीं कर लेते।
var filePath = "C:\\path\\to\\file.txt";
var smtpClient = new SmtpClient("mailhost");
using (var message = new MailMessage())
{
message.To.Add("[email protected]");
message.From = new MailAddress("[email protected]");
message.Subject = "Test";
message.SubjectEncoding = Encoding.UTF8;
message.Body = "Test " + DateTime.Now;
message.Attachments.Add(new Attachment(filePath));
}
if (File.Exists(filePath)) File.Delete(filePath);
Console.WriteLine(File.Exists(filePath));
आउटपुट: झूठी
मैं कल्पना कर सकते हैं कि अगर आप अभी भी कुछ संदेश निपटाने के बाद फ़ाइल ताला लगा है, कि आप की संभावना फ़ाइल पर एक और ताला लगा है, लेकिन कोड के बिना, हम मदद नहीं कर सकता आप।
आप मेल भेजने के बाद एक संलग्न फ़ाइल को हटा नहीं सकते हैं। भेजने से पहले आप हटा सकते हैं।
त्रुटि क्या कहती है कि, जिस मार्ग का आपने उल्लेख किया है वह किसी अन्य प्रक्रिया का उपयोग कर रहा है।
MailMessage Message = new MailMessage();
Message.Subject = "Attachment Test";
Message.Body = "Check out the attachment!";
Message.To.Add("[email protected]");
Message.From = "[email protected]";
Message.Attachments.Add(new Attachment(memorystream, "test.txt", MediaTypeNames.Application.Text));
सूचना है कि हम MemoryStream से लगाव बनाया है और हम लगाव कुछ भी हम नाम देने के लिए मिला है। दूसरे पैरामीटर में अनुलग्नक का नाम ईमेल में फ़ाइल का नाम है, न कि स्थानीय सिस्टम हार्ड ड्राइव पर नाम। वास्तव में अटैचमेंट स्थानीय हार्ड ड्राइव पर कभी नहीं जाता है। तीसरा पैरामीटर अटैचमेंट का माइम प्रकार है, हमारे मामले में यह टेक्स्ट है।
संपादित करें: use Dispose() the mail
MailMessage कक्षा का विस्तार इस को हल करने और इस समस्या को फिर से में चल रहे की संभावना को कम करने के लिए एक अच्छा तरीका है ...
class MyMailMessage : MailMessage, IDisposable
{
private List<string> _tempFiles = new List<string>();
public void Attach(string filename)
{
base.Attachments.Add(new Attachment(filename));
this._tempFiles.add(filename);
}
new public void Dispose()
{
base.Dispose();
this._tempFiles.Foreach(x => File.Delete(x));
}
}
... और (एक 'का उपयोग कर' निर्माण के साथ उपयोग करने के लिए याद है जो आपको वैसे भी उपयोग करना चाहिए) ...
using(SmtpClient client = GetMySmtpClient())
using(MyMailMessage msd = new MyMailMessage())
{
msg.Attach(filename);
client.send(msg);
}
आपको फ़ाइल को हटाने से पहले संदेश ऑब्जेक्ट को निपटाने की आवश्यकता है। उदा:
Dim message As New MailMessage
message.From = New MailAddress(fromEmail, fromName)
message.Subject = subject
message.CC.Add(toCCEmail)
message.Bcc.Add(toBCCEmail)
Dim attach As Attachment = New Attachment(attachmentPath)
message.Attachments.Add(attach)
message.IsBodyHtml = True
message.Body = body
mailClient.Send(message)
message.Dispose() 'Add this line to dispose the message!
आपके मेल बहुत सारे संलग्नक
List<Attachments> lstAtt = new List<Attachments>();
Attachment att = new Attachment(file);
lstAtt.Add(att);
//finally
foreach(var a in lstAtt)
{
a.Dispose();
}
//delete file
- 1. बाइनरी फ़ाइल ईमेल अटैचमेंट समस्या
- 2. ऐप में कस्टम फ़ाइल प्रकार जीमेल अटैचमेंट
- 3. लहजे के साथ मेलमेसेज अटैचमेंट फ़ाइल नाम
- 4. ई-मेल (System.Net.Mail.SmtpClient) अटैचमेंट
- 5. node.js फ़ाइल हटाएं
- 6. फ़ाइल लॉकिंग और हटाएं
- 7. फ़ाइल को कैसे हटाएं?
- 8. एक अटैचमेंट, एचटीएमएल या जेएसएफ
- 9. आईफोन ईमेल अटैचमेंट
- 10. आईसीएल अटैचमेंट में एचटीएमएल
- 11. ज़ेंड मेल 2.0 अटैचमेंट
- 12. जीमेल अटैचमेंट और कस्टम एक्सटेंशन
- 13. इसे डाउनलोड किए बिना जीमेल अटैचमेंट फ़ाइल नाम प्राप्त करें
- 14. ब्राउज़र में फ़ाइल अटैचमेंट को कैसे खींचें और छोड़ें?
- 15. फ़ाइल से खाली लाइनें हटाएं
- 16. फ़ाइल नाम से एक्सटेंशन हटाएं
- 17. आंतरिक संग्रहण से फ़ाइल हटाएं
- 18. NERDTree - फ़ाइल को कैसे हटाएं
- 19. एक्सकोड से .xcdatamodel फ़ाइल हटाएं?
- 20. गिट - रिपॉजिटरी से फ़ाइल हटाएं
- 21. एंड्रॉइड जीमेल ऐप-मेल अटैचमेंट यूआरआई मुद्दा
- 22. एचटीएमएल बॉडी और बाइनरी अटैचमेंट
- 23. सी # मेलो अटैचमेंट के साथ?
- 24. php निर्देशिका में एक फ़ाइल को हटाएं
- 25. एसवीएन इतिहास से फ़ाइल सामग्री हटाएं
- 26. PHP - फ़ाइल के अंतिम अक्षर को हटाएं
- 27. फ़ाइल आउटपुट में न्यूलाइन/रिटर्न कैरिज हटाएं
- 28. फ़ाइल में गैर-ASCII वर्णों को हटाएं
- 29. एंड्रॉइड: आंतरिक छवि फ़ाइल को कैसे हटाएं
- 30. एसडी कार्ड से फ़ाइल को कैसे हटाएं?
मुझे लगता है कि आप अनुलग्नक वस्तुओं निपटान के लिए की जरूरत है। – anishMarokey