2010-07-13 11 views
5

मैं ASP.NET की पासवर्ड पुनर्प्राप्ति का उपयोग करने का प्रयास कर रहा हूं।ईमेल टेम्पलेट में छवि को कैसे सम्मिलित करें

सब ठीक काम करता है, हालांकि मैं ईमेल टेम्पलेट का उपयोग कर रहा हूं। इस ईमेल में मैं इस प्रकार एक छवि डालने की कोशिश कर रहा हूँ:

<html xmlns="http://www.w3.org/1999/xhtml"> 

<body> 

<img alt="blabla" src="/Images/blabla-logo.png" align="middle"/><br/><br/> 
bla bla:<%Password%><br /><br /> 
</body> 

</html> 

जैसा कि मैंने कहा, ईमेल ठीक भेजा जा रहा है, लेकिन छवि नहीं डाला गया है। मैंने कोशिश की: src = "~/images/blabla-logo.png", लेकिन बिना किसी सफलता के।

कोई भी विचार?

बहुत बहुत धन्यवाद, असफ़।

उत्तर

0

आप अपने ईमेल संदेश को संशोधित करने के लिए ऑनसेंडमेल ईवेंट का उपयोग कर सकते हैं।

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <body> 
    <img alt="blabla" src="{0}" align="middle"/><br/><br/> 
    bla bla:<%Password%><br /><br /> 
    </body> 
</html> 

आप PasswordRecovery मार्कअप इस तरह दिखना चाहिए:: चलो अपने टेम्पलेट इस तरह दिखना मान लेते हैं

<asp:PasswordRecovery ID="prPasswordRecovery" runat="server" OnSendingMail="prPasswordRecovery_SendingMail"> 
    <MailDefinition BodyFileName="~/passwordRecoveryEmailTemplate.txt" IsBodyHtml="true" Priority="High" Subject="bla bla"/> 
</asp:PasswordRecovery> 

अंतिम करने के लिए बात के पीछे कोड में prPasswordRecovery_SendingMail विधि लिखने के लिए है:

protected void prPasswordRecovery_SendingMail(object sender, MailMessageEventArgs e) 
{ 
    e.Message.Body = String.Format(e.Message.Body, ResolveClientUrl("~/Images/blabla-logo.png")); 
} 

इससे हो जाना चाहिए।

+0

आपको बहुत बहुत धन्यवाद। मुझे कोई कारण नहीं दिख रहा है कि यह क्यों काम नहीं करना चाहिए। मुझे कुछ गलत करना होगा लेकिन मैंने कोशिश की और यह काम नहीं किया। मुझे अभी भी छवि के बिना ईमेल मिल रहा है। वैसे, मैंने ईमेल टेम्पलेट को .htm एक्सटेंशन दिया है, और वीएस src = "{0}" भाग को चिह्नित करता है और मुझे बताता है कि फ़ाइल नहीं मिली है। क्या मुझे टेक्स्ट फ़ाइल का उपयोग करना चाहिए? क्या यह महत्वपूर्ण है? सहायता के लिए दोनों धन्यवाद, आप वास्तव में सबसे अच्छे हैं। – Assaf

0

एक टिल्ड "~", एक आईडी और रनैट = "सर्वर" जोड़ने का प्रयास करें। Runat = "server" लागू होने पर टिल्ड केवल रूट पथ में बदल जाता है। अन्यथा, serverside कोड नियंत्रण का ज्ञान नहीं है और यह पार्स और लागू नहीं होता पथ प्रविष्टि

<img alt="blabla" src="~/Images/blabla-logo.png" 
align="middle" id="img" runat="server"/> 
+0

आपकी मदद के लिए बहुत बहुत धन्यवाद। यह सब बहुत उचित लगता है। हालांकि, मैंने कोशिश की लेकिन यह काम नहीं किया। मैंने थोड़ा सा संघर्ष करने की कोशिश की लेकिन बिना किसी सफलता के। बहुत बहुत धन्यवाद। – Assaf

+0

फ़ायरफ़ॉक्स में पृष्ठ खोलने का प्रयास करें और फिर ईरेंडर किए जा रहे पथ को देखने के लिए फ़ायरबग प्लगइन खोलें। छवियों निर्देशिका में छवि आपकी साइट की जड़ में है? साथ ही, छवि नाम से और लिंक से हाइफ़न को हटाने का प्रयास करें। विभिन्न प्रकार के हाइफ़न हैं और वे –

3

ईमेल के लिए आप "/Images/blabla-logo.png" केवल की तरह रिश्तेदार पथ नहीं देना चाहिए आंतरिक वेबसाइट के पन्नों के लिए काम करता है, बजाय इस बात का आप अपने ईमेल में चित्र को एम्बेड की कोशिश के बजाय इस के रास्ते का उपयोग कर छवि शामिल करने के लिए नहीं की तरह

http://youserver/youapp/Images/blabla-logo.png

मैं तुम्हें सुझाव देगा पूर्ण पथ देना चाहिए।

+0

से मेल नहीं खाते हैं जो मैं करता हूं। संपूर्ण पथ के साथ "लाइव" सर्वर पर हमेशा "लाइव" छवि देखें। –

0

क्या आपने वैकल्पिक दृश्य का उपयोग करने का प्रयास किया है?

एक उदाहरण here है।

+0

यदि आप सी # उदाहरण चाहते हैं तो आप निम्न लिंक पर एक नज़र डाल सकते हैं। http://www.codeproject.com/KB/aspnet/inkrajesh.aspx –

संबंधित मुद्दे