2014-06-26 11 views
6

विफल रहा है मैं अमेज़ॅन एसईएस ईमेल सेवा से कनेक्ट करने के लिए नोडजेस नोडेमेलर का उपयोग कर रहा हूं। यह सब सरल प्रतीत होता है, लेकिन मुझे त्रुटि मिल रही है:अमेज़ॅन एसईएस नोडेमेलर कनेक्शन

"आपके द्वारा गणना किए गए अनुरोध हस्ताक्षर आपके द्वारा प्रदान किए गए हस्ताक्षर से मेल नहीं खाते हैं। अपनी एडब्ल्यूएस गुप्त पहुंच कुंजी और हस्ताक्षर विधि की जांच करें। विवरण के लिए सेवा प्रलेखन से परामर्श लें।"

मैंने पहले से ही ऑनलाइन खोज की है और ज्यादातर लोग कहते हैं कि ऐसा इसलिए है क्योंकि आपके पास अपनी सिक्योर कुंजी के अंत में एक जगह है या कभी-कभी आगे की स्लैश समस्या का कारण बन सकती है। आखिरी वाला अब कोई मुद्दा नहीं है क्योंकि मैंने एसएमटीपी प्रमाण-पत्र बनाए रखा है जब तक कि कोई नहीं था। मैंने अब लगभग 10 एसएमटीपी प्रमाण-पत्र बनाए हैं, प्रत्येक बार AccessKey और SecretKey की प्रतिलिपि बनाई है और चिपकाया है और मुझे अभी भी यह त्रुटि मिल रही है। मैंने http://email-smtp.us-west-2.amazonaws.com का उपयोग करने का भी प्रयास किया है और अभी भी वही त्रुटि मिल गई है।

var nodemailer = require("nodemailer"); 
var transport = nodemailer.createTransport("SES", 
{ 
    AWSAccessKeyID: 'AKIA************', 
    AWSSecretKey: 'AqlwF*****************************', 
    SeviceUrl: 'http://email-smtp.us-east-1.amazonaws.com' 
}); 
nodemailer.sendMail({ 
    transport : transport, 
    sender : '[email protected]' , 
    to : '[email protected]', 
    subject : 'TEST', 
    html: '<p> Hello World </p>' 
}, function(error, response) 
{ 
    if(error){ console.log(error); } 
    else{ console.log("Message sent: " + response.message);} 
}); 

किसी को भी पता है कि मैं और क्या कर सकते हैं:

यहाँ मेरी कोड है?

+0

इस के साथ कोई भाग्य? मैंने अभी डेवलपर के जिथब पर एक मुद्दा बनाया है। –

उत्तर

3

ऐसा तब होता है जब आप AWS SMTP क्रेडेंशियल्स का उपयोग करते हैं। एक किसी AIM उपयोगकर्ता बना सकते हैं और इसे करने के लिए नीचे दिए गए एक तरह एक नीति आवंटित करने चाहिए:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": ["ses:SendEmail", "ses:SendRawEmail"], 
     "Resource": "*" 
    } 
    ] 
} 
-1

अमेज़न सत्र आप के लिए और अमेज़न एडब्ल्यूएस खाते पर पंजीकृत ईमेल पते से ईमेल भेजने के लिए अनुमति देता है। आप उन्हें सत्यापित करने का प्रयास कर सकते हैं, यह समस्या हो सकती है।

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-email-addresses.html

इस तरह उन्हें सत्यापित करने पर एक विवरण नहीं है।

संपादित करें: नोडमेलर एसईएस परिवहन के लिए कदम ठीक से काम करने के लिए कदम। 1. मूल एसईएस ट्रांसपोर्टर तैयार करें। यह उसी तरह तुमने में बनाया जा सकता है। (जो आप किया था)

var nodemailer = require("nodemailer"); 
var transport = nodemailer.createTransport("SES", 
{ 
    AWSAccessKeyID: 'AKIA************', 
    AWSSecretKey: 'AqlwF*****************************', 
    SeviceUrl: 'http://email-smtp.us-east-1.amazonaws.com' 
}); 
mail={ 
    transport : transport, 
    sender : '[email protected]' , 
    to : '[email protected]', 
    subject : 'TEST', 
    html: '<p> Hello World </p>' 
}; 
  1. पहुँच Keyid और अपने अमेज़न एडब्ल्यूएस खाते से awsSecretKey प्राप्त करने के लिए। (जो तुमने किया था ।)

  2. अब, उपरोक्त चरणों के साथ किए जाने के बाद, आप अपने अमेज़ॅन एसईएस खाते से पंजीकृत ईमेल पते पर मेल भेज सकेंगे। (एक सत्यापन लिंक आपको ईमेल खाते में भेजा जाएगा के लिए अनुरोध का अनुरोध करें और आपको सत्यापित करने के लिए उन्हें क्लिक करने की आवश्यकता है)। आपके खाते के माध्यम से ईमेल पते को सत्यापित करने का लिंक वह लिंक है जो मैंने ऊपर पोस्ट किया है।

, ऐसा लगता है कि आपने नहीं किया है। तो ईमेल पते पंजीकृत करें, आप ईमेल (और इससे भी!) को ईमेल भेजना चाहते हैं और कोड के पते से और उन ईमेल पते का उपयोग करें।

यदि आप उन ईमेल पते पर ईमेल भेजना चाहते हैं जिन्हें आपने पंजीकृत नहीं किया है तो आपको प्रीमियम एक्सेस के लिए अनुरोध करने की आवश्यकता है। यह आपके खाते में उत्पादन पहुंच के तहत पाया जा सकता है। उस पृष्ठ का संदर्भ

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

आशा यह आपकी समस्या का हल है। और टिप के लिए रॉब धन्यवाद।

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