2016-03-28 12 views
0

Ich habe eine kleine Chrome-Erweiterung, die ich nur für mich benutze. Momentan benutzt es Mandrill, aber Mandrill wird in ungefähr einem Monat nicht mehr frei sein und ich suche nach anderen Möglichkeiten, E-Mails von der Erweiterung zu senden.Senden Sie eine E-Mail von der Chrome-Erweiterung mit Mailgun

Was ich brauche, ist etwas wirklich einfaches und reines Javascript-jQuery. Es macht mir nichts aus, einen API-Schlüssel im Code anzugeben, da die Erweiterung nur für mich selbst bestimmt ist. Ich habe Dokumentationen auf Sites wie Mailgun oder SparkPost gesehen, aber ich kann kein einfaches und reines JavaScript-Beispiel finden. Zum Beispiel ist dies der Code, den ich für Mailgun probiert habe; es wird ein 404 ausgelöst, obwohl ich meine Sandbox URL verwende und es aktiv ist:

$.ajax({ 
    type: "POST", 
    url: "MY SANDBOX URL", 
    data: { 
     'user':'api', 
     'key': 'MY KEY', 
     'from': 'SENDER EMAIL ADDRESS', 
     'to': 'RECIPIENT EMAIL ADDRESS', 
     'subject': 'Subject', 
     'text': 'Body' 
     } 
    }).done(function(response) { 
     console.log("Email sent"); 
}); 

Bitte, könnten Sie mir helfen? Vielen Dank!

+0

Versuchen Sie 'SendGrid', die REST API haben, um E-Mails zu senden. Darüber hinaus können Sie Google Mail-APIs zum Senden von E-Mails verwenden. –

+0

Danke, SendGrid könnte tun, was ich brauche. Ich werde versuchen, es zu benutzen, wenn ich nach Hause komme und es dich wissen lasse. – phr

+0

hey @phr, leider erlaubt SparkPost keine REST-Anfragen vom Browser. Es klingt, als ob Sie hier eine gute Verwendung haben (eine Erweiterung, die nur von Ihnen verwendet wird), aber die meisten Leute, die ich gesehen habe, die das tun wollen, verstehen nicht die Risiken, ihren API-Schlüssel preiszugeben. Viel Glück! – cfs

Antwort

0

Entschuldigung für die Verspätung, ich war wirklich beschäftigt und dachte, dass es viele Stunden dauern würde zu kämpfen, also habe ich es nicht versucht, bis ich etwas Zeit hatte. Tatsächlich dauerte der gesamte Vorgang weniger als 30 Minuten, weil SendGrid eine nette Dokumentation hat und sehr einfach zu benutzen ist, zumindest für das, was ich brauche. Danke Adnan Umer dafür, dass er mich auf dieses Tool aufmerksam gemacht hat.

Hier ist, was ich getan habe:

1) einen kostenlosen Account erstellen. Ermöglicht bis zu 12.000 E-Mails pro Monat, mehr als genug für mich.

2) Warten Sie, bis das Konto eingerichtet ist. In meinem Fall war das sofort, aber es könnte manchmal eine Verzögerung geben, angeblich bis zu mehreren Stunden.

3) Generieren Sie hier einen allgemeinen API-Schlüssel: https://app.sendgrid.com/settings/api_keys mit vollem Zugriff auf "Mail senden".

4) Senden Sie eine E-Mail mit dem Header "Authorization" und dem Schlüssel als "Bearer" -Token in dieser Kopfzeile.

In meinem Fall arbeitet ok:

$.ajax({ 
    type: "POST", 
    url: "https://api.sendgrid.com/api/mail.send.json", 
    headers: { 
     'Authorization': 'Bearer ' + SENDGRID_API_KEY 
    }, 
    data: { 
     'to': EMAIL_ADDRESS_TO, 
     'from': EMAIL_ADDRESS_FROM, 
     'subject': 'Email subject', 
     'html': 'Email body', 
    } 
}).done(function(response) { 
    console.log("Email sent"); 
}); 

Vielen Dank!