2008-08-11 18 views
13

मैं क्लाइंट साइड मेल निर्माता वेब पेज बनाना चाहता हूं। मुझे एक HTML फॉर्म में मेलto एक्शन का उपयोग करने की समस्याएं पता हैं (मानक नहीं, क्लाइंट पर कोई डिफ़ॉल्ट मेल एपिकेशन सेट नहीं है)। लेकिन वेब पेज बहुत महत्वपूर्ण नहीं है, और वे बहुत ज्यादा परवाह नहीं करते हैं।क्या मैं क्लाइंट साइड ईमेल बनाने के लिए जावास्क्रिप्ट का उपयोग कर सकता हूं?

विषय: अपरिभाषित विषय
शरीर:

param1 = मान 1
param2 2 = मान

मेल mailto कार्रवाई द्वारा बनाई वाक्य रचना है।


paramn = valuen

मैं जावास्क्रिप्ट का उपयोग कर सकते इस तरह मेल फ़ॉर्मेट करने के लिए?

विषय: XXXXX

बॉडी: मान 1, Value2; VALUE3 ... ValueN

उत्तर

15

हम प्रोजेक्ट में जो भी इस्तेमाल करते हैं वह एक पॉपअप विंडो है जो एक मेलto: लिंक खोलता है, यह एकमात्र तरीका है जिसे हमने डिफॉल्ट मेल क्लाइंट के भीतर मेल लिखने के लिए पाया है जो सभी मेल क्लाइंट्स के साथ काम करता है (कम से कम हमारे सभी क्लाइंट)।

var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ; 
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks 
var subject = ""//between the speech marks goes the subject of the message 
var href = "mailto:" + addresses + "?" 
     + "subject=" + subject + "&" 
     + "body=" + body; 
var wndMail; 
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10"); 
if(wndMail) 
{ 
    wndMail.close();  
} 
+0

आईई 8 में काम नहीं कर रहा प्रतीत होता है। डीबगर के अनुसार WNDMail शून्य है। –

+0

उसे सुनकर खेद है। यह आईई 6 का उपयोग कर एक पुरानी परियोजना से है। सुधारने के लिए स्वतंत्र महसूस करें :) –

+0

अब तक कोई समाधान नहीं मिला। –

0

वहाँ एक कारण है कि आप सिर्फ एक पृष्ठ भेजने के हैंडल करने के लिए डेटा नहीं भेज सकते है मेल? अधिकांश भाषाओं में एक ईमेल भेजने में बहुत आसान है, इसलिए जब तक कि इसे क्लाइंट साइड पर धक्का देने का कोई मजबूत कारण न हो, मैं उस मार्ग की अनुशंसा करता हूं।

6

आप कम या ज्यादा केवल दो विकल्प जब ब्राउज़र के माध्यम से मेल भेजने .. है

  1. एक पृष्ठ है कि आपके वेब सर्वर के माध्यम से मेल भेजने के लिए उपयोगकर्ता इनपुट लेता है, और अनुमति देता है उन्हें बनाते हैं। इसके लिए आपको किसी प्रकार की सर्वर-साइड स्क्रिप्टिंग की आवश्यकता है।
  2. उपयोगकर्ता मेल पंजीकृत क्लाइंट खोलने के लिए एक मेलto: लिंक का उपयोग करें। इसमें आपके द्वारा वर्णित स्पष्ट नुकसान हैं, और कम लचीला है। हालांकि इसे कम काम की जरूरत है।
4

अकेले जावास्क्रिप्ट के साथ, यह संभव नहीं है
जावास्क्रिप्ट का उद्देश्य ऐसी चीजों को करने का इरादा नहीं है और जिस तरह से यह वेबब्रोसर के अलावा किसी अन्य चीज़ के साथ बातचीत कर सकता है, उसमें गंभीर रूप से अपंग है, (अच्छे कारण के लिए!)।

इसके बारे में सोचें: एक स्पैमर क्लाइंट साइड जावास्क्रिप्ट के साथ एक वेबसाइट लिख रहा है जो स्वचालित रूप से हजारों यादृच्छिक ईमेल पते पर मेल करेगा। अगर लोगों को उस साइट पर जाना चाहिए तो वे सभी अपने कंप्यूटर के साथ वितरित जन मेलिंग घोटाले में भाग ले रहे होंगे ... कोई संक्रमण या उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है!

+3

लेकिन इन्हें मेल करें कार्रवाई मेल न भेजें, यह केवल ग्राहक डिफ़ॉल्ट ईमेल आवेदन कॉल करता है और एक नया मेल बनाने , लेकिन इसे भेजने के बिना।इसलिए कि इस तरह की मैलवेयर साइट उपयोगकर्ता सहयोग के बिना स्पैम नहीं भेज सकती है। मैं केवल संदेश भेजने के लिए जावास्क्रिप्ट को संदेश भेजने के लिए चाहता हूं, लेकिन जवाब देखने से यह संभव नहीं है। – Telcontar

1

आप एक mailto लिंक बना सकते हैं और जावास्क्रिप्ट का उपयोग कर इसे आग कर सकते हैं:

var mail = "mailto:[email protected]?subject=New Mail&body=Mail text body"; 
    var mlink = document.createElement('a'); 
    mlink.setAttribute('href', mail); 
    mlink.click(); 
+0

धन्यवाद, जिसने मुझे "काम को रिक्त स्थान" के बारे में सोचा था! – Fortin

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

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