2012-10-10 15 views
5

क्या अमेज़ॅन एसईएस एसएमटीपी के साथ वीबीस्क्रिप्ट सीडीओ काम करने के लिए कुछ चाल है? मुझे कोई त्रुटि नहीं मिलती है, लेकिन यह मुझे मेरा टेस्ट ई-मेल नहीं भेजती है। एसएसएल को गलत में बदलना मुझे 530 त्रुटि देता है, इसलिए मुझे पता है कि मैं कम से कम सर्वर तक पहुंच रहा हूं। मैं क्या गलत कर रहा हूं?क्या अमेज़ॅन एसईएस एसएमटीपी के साथ वीबीस्क्रिप्ट सीडीओ काम करने के लिए कुछ चाल है?

EmailSubject = "Sending Email by CDO" 
EmailBody = "This is the body of a message sent via" & vbCRLF & _ 
     "a CDO.Message object using SMTP authentication." 

Const EmailFrom = "[email protected]" 
Const EmailFromName = "Me Test" 
Const EmailTo = "[email protected]" 
Const SMTPServer = "email-smtp.us-east-1.amazonaws.com" 
Const SMTPLogon = "xxxxxx" 
Const SMTPPassword = "xxxxxxx" 
Const SMTPSSL = True 
Const SMTPPort = 25 

Const cdoSendUsingPickup = 1 'Send message using local SMTP service pickup directory. 
Const cdoSendUsingPort = 2 'Send the message using SMTP over TCP/IP networking. 

Const cdoAnonymous = 0 ' No authentication 
Const cdoBasic = 1 ' BASIC clear text authentication 
Const cdoNTLM = 2 ' NTLM, Microsoft proprietary authentication 

' First, create the message 

Set objMessage = CreateObject("CDO.Message") 
objMessage.Subject = EmailSubject 
objMessage.From = """" & EmailFromName & """ <" & EmailFrom & ">" 
objMessage.To = EmailTo 
objMessage.TextBody = EmailBody 

' Second, configure the server 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendusername") = SMTPLogon 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SMTPPassword 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPPort 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = SMTPSSL 

objMessage.Configuration.Fields.Item _ 
("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 

objMessage.Configuration.Fields.Update 

' Now send the message! 

objMessage.Send 

उत्तर

7

सीडीओ टीएलएस का समर्थन नहीं करता है, लेकिन केवल एसएसएल। एडब्ल्यूएस एसईएस आपको टीसीपी पोर्ट 465 पर एसएसएल का उपयोग करने देगा। आपके द्वारा पोस्ट की गई स्क्रिप्ट में एसएसएल का उपयोग करने की कोशिश करने के लिए आपको निम्न त्रुटि संदेश वापस करना चाहिए:

सीडीओ.मेजेज .1: परिवहन से इसका कनेक्शन खो गया सर्वर।

मुझे नहीं पता कि आपको इस स्क्रिप्ट के साथ यह त्रुटि क्यों नहीं मिली है। मैं करता हूँ। पोर्ट को 465 में बदलने का प्रयास करें। जब मैं पोर्ट को 465 में बदलता हूं, तो यह काम करता है।

0

यह एक महान दिनचर्या है। जब से वह कॉन्स्ट उपयोग कर रहा है, वस्तु के रूप में

मंद objMessage

इसके अलावा, आप इन वस्तुओं में से किसी भी बदलना चाहते हैं, तो आप उन्हें स्ट्रिंग के रूप में घोषित करने और हटाने की आवश्यकता होगी: आप एक वस्तु के रूप objMessage घोषित करने के लिए की जरूरत है उन पंक्तियों से मुठभेड़। मुझे एसएमटीपीपोर्ट के लिए 465 विकल्प देना था, मेरे एसईएस आईडी/पीडब्ल्यू का उपयोग करना था, और यह सही काम करता है!

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