2016-04-16 13 views
11

Mailgun consiglia di creare record DNS (TXT, MX, ..) per un sottodominio, ma afferma che l'invio e la ricezione con il dominio principale è possibile tramite configurazione successiva. Ho creato tutti i passaggi necessari per mail.example.com presso il mio registrar e su Mailgun (aggiungendo un dominio, impostando i percorsi, ecc.). Ora posso ricevere e inviare e-mail all'indirizzo [email protected] configurato.Come inviare e ricevere e-mail in mailgun (configurato per un sottodominio) dal dominio radice

Cosa devo modificare ora per poter inviare e ricevere ad [email protected]? Quali sono le modifiche necessarie al registrar, in mailgun e nelle mie impostazioni smtp su gmail (per l'invio da gmail via mailgun)?

Grazie mille!

risposta

2

Ho usato Mailgun solo da poco, ma posso aiutare con quello che ho imparato finora.

I record DNS possono essere impostati per Mailgun o una terza parte come Gmail. Non penso che useranno entrambi. Non sono sicuro di cosa farebbe per il routing, perché non saprei dove andare.

Per il sottodominio Mailgun, è stato utilizzato mail.example.com con indirizzo di posta elettronica [email protected]. Il mio è in esecuzione, ma non ho creato indirizzi email del genere. I miei formati di posta elettronica sono ancora [email protected].

ho intenzione di incollare questo in da una e-mail che ho ricevuto, e modificarlo per abbinare il vostro esempio fornito:

Sembra aver impostato i record MX per il dominio principale, example.com, tuttavia il dominio che stai utilizzando con Mailgun è mail.example.com. Dovrai cambiare il nome host da example.com a mail.example.com affinché questi possano essere instradati correttamente.

Poiché Mailgun non dispone di cassette postali, la ricezione di e-mail con Mailgun richiede l'utilizzo di un sottodominio con record MX che puntano a Mailgun e che utilizzano la nostra funzionalità Routes. Un buon modo per capire Route è come un sofisticato meccanismo di filtraggio e inoltro. Con percorsi, è possibile:

  • inoltrare l'e-mail in entrata ad un altro ambiente per lo stoccaggio (come ad esempio un indirizzo email o un endpoint sul server
  • negozio un messaggio temporaneamente (fino a 3 giorni) e recuperare utilizzando l'API messaggi
  • fermare un messaggio in fase di elaborazione (vale a dire far cadere certi messaggi invece di inoltro o la loro memorizzazione)
+0

Aggiunta di un commento: ho ricevuto una risposta dal ragazzo Mailgun Chris. Ha detto che dovrei lasciare il record MX esistente fornito dal fornitore di servizi e aggiungere una coppia extra di record MX per il dominio 'mg.example.com': Uno per il ** record MXA ** e uno per il ** MXB ** disco. Lo staff di supporto di Mailgun è davvero buono! – jp2code

3

è necessario utilizzare mailgun-js per questo

  1. Richiede mailgun-js da NPM

    var Mailgun = require ('mailgun-js');

2. Impostare le opzioni per mail. cioè apiKey e dominio.

var options = { 

    apiKey: 'YOUR_API_KEY', 
    domain: 'YOUR_DOMAIN' 
}; 
  1. mailgun Instantiate con queste opzioni.

    var mailgun = new Mailgun (opzioni);

  2. Invia e-mail dopo aver impostato il parametro richiesto.

    var data = { 
        //From email 
        from: '', 
        // Email to contact 
        to: 'To Email address', 
        // CC email 
        ccTo: 'CC address if any' 
        // Subject 
        subject: 'Mail subject', 
        // Email msg 
        html: 'email message or html' 
    }; 
    
    // Send email 
    mailGun.messages().send(data, callbackFunction() { 
    
    }); 
    
+0

In realtà non * è necessario * utilizzare alcun modulo per questo (anche se è possibile se lo si desidera). L'invio di messaggi avviene tramite una chiamata API agli endpoint di Mailgun, è possibile eseguire anche con 'curl' o' ajax', ad es. con jQuery: '$ .ajax ({tipo: 'POST', url: 'https://api.mailgun.net/v3/example.com/messages', nome utente: 'api', password: 'api_key', dati : {from: '[email protected]', a: '[email protected]' ...}, successo: callback}); '(come da jQuery 1.7.2+), anche se probabilmente dovresti considerare l'invio di messaggi dal tuo server. –

0

Se stai cercando di usare il pacchetto Anymail di Django per inviare Mailgun e-mail da un sottodominio, è necessario inviare l'e-mail utilizzando i EmailMultiAlternatives oggetto e specificare il dominio Email Sender in questo modo:

from django.core.mail import EmailMultiAlternatives 

msg = EmailMultiAlternatives("Subject", "text body", 
          "[email protected]", ["[email protected]"]) 
msg.esp_extra = {"sender_domain": "mg.example.com"} 

msg.send() 
Problemi correlati