2016-04-27 27 views
8

Ho problemi con l'invio di email tramite Amazon SES. Ho un'istanza Amazon EC2.Email di Amazon SES che non inviano più

Ha funzionato per i primi due giorni, ma ho notato che la scorsa settimana tutte le e-mail ora falliscono. Ho provato a inviare utilizzando Node e il sdk Amazon SES e da AWS dove è possibile inviare un messaggio di prova. Ho il seguente codice nel nodo:

var aws = require('aws-sdk'); 

// load aws config 
aws.config.loadFromPath('email_config.json'); 

// load AWS SES 
var ses = new aws.SES({ 
    apiVersion: '2010-12-01' 
}); 

ses.sendEmail({ 
    Source: from, 
    Destination: { 
     ToAddresses: to 
    }, 
    Message: { 
     Subject: { 
      Data: 'Somebody registered' 
     }, 
     Body: { 
      Html: { 
       Data: body, 
      } 
     } 
    } 
}, function(err, data) { 

    console.log('email err is ', err, ' and data is ', data); 

}); 

Il risultato del log è:

email err is null and data is { ResponseMetadata: { RequestId: 'ad28f526-0b15-11e6-ad87-1108d652684a' }, 
MessageId: '010101544ebc41b3-f7bd43dd-0505-4eb2-a056-219ce6180fc5-000000' } 

per la squadra di e-mail deliever e poi ricevo una mail da Amazon dicendo:

An error occurred while trying to deliver the mail to the following recipients: < my email address > 

Questo contiene un allegato con il seguente testo:

From: < my email address > 
To: < my email address > 
Subject: Somebody registered 
MIME-Version: 1.0 
Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: 7bit 
Message-ID: <[email protected]west-2.amazonses.com> 
Date: Mon, 25 Apr 2016 18:44:01 +0000 
X-SES-Outgoing: 2016.04.25-54.240.27.56 
Feedback-ID: 1.us-west-2.GkIUmTTEDEIC5VBoooumwcKSnMDcLT8S4Zd3/deS/BU=:AmazonSES 
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; 
    s=gdwg2y3kokkkj5a55z2ilkup5wp5hhxx; d=amazonses.com; t=1461609841; 
    h=From:To:Subject:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID:Date:Feedback-ID; 
    bh=fHqQiK/2DJ+B7zddmElFttCiWFnADDSNj5umLJQCPJs=; 
    b=ZI/358zmcRHVBKTdA6qbQky5nj5z/YWw215KvkZ+oD73N0booHbl+jx+O05FdcKR 
    irDjmyEDppGkp7rToZSTt/NHDeRrbERixT/ZCjGo/KOxvShovD7Z5mnDViRmkS5sTz5 
    qo0oO0NuRz1lGVPkT5ONHNhKhWs7ncC9id0ycm34= 

Quando accedo effettivamente ad AWS e invio un'email di prova tramite la console, ottengo lo stesso errore.

Ho verificato l'indirizzo email dei mittenti e ho un limite di invio approvato per la regione.

Qualche idea di cosa potrebbe essere?

EDIT

ho appena notato nel mio pannello di controllo AWS> SES Home> Domini che dice il mio dominio è 'in corso di verifica'. Potrebbe essere? Dice che ho bisogno di aggiungere un record TXT DNS con un nome di xxx e il valore di yyy. L'ho già fatto su Register365. Forse l'ho fatto male? Register365 non fornisce campi nome e valore per un record TXT, solo un campo 'risultato'. Così ho aggiunto un record TXT con il campo "risultato" di: xxx = yyy. È questo l'approccio corretto? Questo è stato settimane fa e anche se la sua verifica ancora in corso ....

EDIT

allora ho aggiunto un record TXT al mio pannello di controllo di registro 365, e ancora il mio dominio non può essere verificata. Il record si presenta come:

enter image description here

Amazon mi ha fornito il seguente record TXT per verificare il mio dominio:

TXT Name*: _amazonses.mydomain.com 
TXT Value: u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k= 

Così nel pannello di controllo del campo "risultato" Register 365 Ho aggiunto il record nella forma nome = valore vale a dire "_amazonses.mydomain.com = u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k ="

allora ho fatto funzionare nslookup per trovare il record ma ho ottenuto il messaggio:

012.351.
server can't find _amazonses.mydomain.com: NXDOMAIN 

Cosa sto sbagliando?

EDIT

ho ora è cambiato il record TXT per:

enter image description here

ma dopo 3 giorni mi hanno ottenuto un'altra email da Amazon dicendo che non sono riusciti a verificare il dominio. Ora sono completamente sbalordito, ho provato a verificarlo per 6 settimane!

Il mio account SES non è in modalità sandbox - sono già stato approvato per inviare e-mail tramite SES. Ho anche verificato il mio indirizzo email del mittente.

Sono disponibili altre opzioni? Il servizio Amazon SES sembra assolutamente terribile.

Anche quando ho eseguito:

nslookup -type=TXT _amazonses.redmatterapp.com ns-478.awsdns-59.com 

sto ancora vedendo:

server can't find _amazonses.redmatterapp.com: NXDOMAIN 

quando ho eseguito:

nslookup -type=TXT redmatterapp.com ns-478.awsdns-59.com 

ottengo:

Can't find redmatterapp.com: No answer 

Perché sta succedendo questo? Il mio DNS è al Registro 365

EDIT

sembra la nameserver stavo usando con nslookup erano sbagliate. Quando eseguo nslookup, so get:

_amazonses.redmatterapp.com text = "u1qN5cbTEDb/2EV9Bhd67YHT5jjqVXKJ8KeXj50k=" 

Che sembra giusto. Eppure la verifica per il mio dominio non riesce ...

+0

'record TXT' richiedono virgolette doppie:' "xxx yyy =" '. –

+0

ok proveremo che – Mark

+0

non ha funzionato ... – Mark

risposta

4

La parte hostname è _amazonses (colonna sinistra, accanto al numero 2)

Il valore è "u1qHY..."

+0

In realtà ho pensato che fosse stato risolto ma AWS non riesce ancora a verificare il mio dominio – Mark

6

Come Michael, il Bot SQL ha sottolineato, hai bisogno di un nome host (_amazonses) a sinistra e il valore a destra. Ciò contribuirà a convalidare il dominio.

Tuttavia, ci sono una serie di altri possibili motivi per il fallimento. SES è ancora in modalità sandbox? In tal caso, è necessario verificare gli indirizzi e-mail DA e DA.

Potrebbe essere più semplice verificare i singoli indirizzi e-mail se non riesci a far funzionare la verifica del dominio. Quindi crearli in SES e passare attraverso il processo di convalida. Una volta creati (o, se riesci a ottenere la verifica del dominio), crea un argomento SNS che ti invia email, quindi configura le notifiche Bounce, Complaint e Delivery su quell'argomento SNS: dovresti finire con un'email per ogni tentativo di consegna, indipendentemente dal fatto che abbia successo o meno.

L'ultima cosa da considerare è la possibilità che il tuo indirizzo e-mail sia stato aggiunto all'elenco delle supressioni. Se generi molti errori, SES ti aggiungerà a un elenco "non inviare email". È possibile richiedere la rimozione da questo elenco nella console SES.

3

penso che sei sulla strada giusta in quella ultima immagine, solo credo che il nome host è _amazonses, e u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k = è il risultato, invece di mettere tutto nel campo del risultato nel modulo di _amazonses". yourdomain.com = u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k =". Iiuc, l'idea è che AWS arrichisca _amazonses.yourdomain.com, aspettandosi che la tua chiave sia servita come file TXT, ma attualmente stai servendo un file TXT con i contenuti _amazonses.yourdomain.com = u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k = (I non posso proprio leggere, come è stato tagliato fuori, scusate la mia ipotesi) su yourdomain.com invece.

La ragione per cui credo sia che si sta verificando l'errore NXDOMAIN, il che significa che il dominio _amazonses.yourdomain.com non esiste, il che ha senso se non si fosse impostato un record TXT per _amazonses.yourdomain .com, ma invece impostare un record txt per http://yourdomain.com invece con il valore _amazonses.yourdomain.com = u1qHYT6/2KV9Kl1VLKsApXjwcPqVXKJ8KeXj50k =. È anche ciò che le altre due risposte sembrano suggerire, il che mi fa sentire più sicuro.

+0

grazie, sta funzionando ora – Mark

+0

in realtà ho letto male un'e-mail da Amazon, questo non funziona ancora! – Mark

2

Recentemente ho verificato un dominio per l'azienda per cui lavoro con successo, è impostato come segue nel mio DNS del dominio (come un record TXT):

Amazon SES DNS

Può valere la pena voi leggendo Amazon's troubleshooting page se hai ancora problemi.

Aggiungendo alla mia risposta:

Ho appena controllato la mia console AWS, se si apre fino SES> Domini e cliccate sul nome di dominio. Scorrere verso il basso quindi fare clic su DKIM, ho dovuto verificare un po 'di là:

AWS DKIM

e aggiungerli come record CNAME come segue:

DKIM DNS

Una cosa che la gente dimentica di questo processo è la Infatti, Amazon richiede di lasciare il record TXT in posizione anche dopo la verifica. Altrimenti revocheranno il dominio.

Spero che questo aiuti!


Ancora un'altra modifica (sorry)

Quando eseguo nslookup -type=TXT _amazonses.redmatterapp.com ns-1471.awsdns-55.org per cercare di trovare il tuo record TXT, ritorna:

Server:  ns-1471.awsdns-55.org 
Address: 205.251.197.191#53 

** server can't find _amazonses.redmatterapp.com: NXDOMAIN 

Questo dimostra che il record TXT è non configurato correttamente.

+0

Sono appena tornato a questo. Sì, mesi più tardi e non funziona ancora :( – Mark