2012-11-22 22 views
10

से शुरू हुईं हमारे पास कुछ ईमेल सदस्यता के साथ रूबी ऑन रेल एप्लिकेशन है। शुरू मेंईमेल के साथ समस्याएं "-" (डैश)

class UserMailer < ActionMailer::Base 
... 
end 

सब कुछ ठीक है, एक बात को छोड़कर - - कुछ उपयोगकर्ताओं के साथ ईमेल पते हैं "": यह मेलर वर्ग ActionMailer से विरासत में मिली है।

sendmail: invalid option -- u 
sendmail: invalid option -- s 
sendmail: invalid option -- u 
sendmail: fatal: usage: sendmail [options] 

मैं ActionMailer के लिए इस चरित्र (और शायद कुछ इसी तरह) कैसे बच सकता है: जब मैं करने के लिए "[email protected]" ईमेल भेजें कोशिश कर रहा हूँ त्रुटियां होती हैं?

धन्यवाद

+0

आपको इस विशेष चरित्र से बचने की आवश्यकता होगी क्योंकि यह सभी बैश/खोल आदेशों में एक विकल्प चरित्र – toxicate20

+2

कई यूनिक्स कमांड '- तर्क के बाद पार्सिंग पैरामीटर को रोकते हैं। हो सकता है कि आप ऐसा करने के लिए sendmail कॉलिंग कोड को फिर से कॉन्फ़िगर कर सकें? – samuil

+0

सलाह के लिए धन्यवाद। मैंने कुछ भागने को जोड़ने का प्रयास किया है: - '\' और अतिरिक्त '" '' '' '' '' "मदद नहीं करता है (ईमेल करने के लिए" \ "- [email protected] \" "," \ -user @ mailinator। कॉम "और" - \ '[email protected] \ "भेजा गया था, लेकिन" [email protected] "पर इनबॉक्स खाली रहा) -'/'अप्रत्याशित रूप से मदद करता है:"/-user @ mailinator को ईमेल करें। कॉम "भेजता है और" [email protected] "भेजता है। इसके अलावा मैं आवेदन में प्रेषण विधि को ओवरराइड करने का प्रयास करूंगा। – vld

उत्तर

0

हालांकि पदावनत URI.escape विधि आप चिह्नित क्या तरह असुरक्षित है देता है कि एक दूसरा पैरामीटर ले करता है तो

URI.escape("[email protected]", '-') 
=> "%[email protected]" 

सीजीआई भागने जो URI.escape बदल देता है प्रतीत नहीं होता है एक ही कार्यक्षमता लेकिन इस तरह के एक मामले के लिए यह काम कर सकता है।

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