我正在Firebase中执行Cloud Function,以便在documentation之后发送带有mailgun的电子邮件。
我正在使用 TypeScript ,但找不到有关如何设置API KEY,DOMAIN以及最后如何发送电子邮件的示例。我发现的所有示例都在JavaScript中。
JavaScript 中的示例:
var API_KEY = 'YOUR_API_KEY';
var DOMAIN = 'YOUR_DOMAIN_NAME';
var mailgun = require('mailgun-js')({apiKey: API_KEY, domain: DOMAIN});
const data = {
from: 'Excited User <me@samples.mailgun.org>',
to: 'foo@example.com, bar@example.com',
subject: 'Hello',
text: 'Testing some Mailgun awesomeness!'
};
mailgun.messages().send(data, (error, body) => {
console.log(body);
});
TypeScript :
const API_KEY = 'YOUR_API_KEY';
const DOMAIN = 'YOUR_DOMAIN_NAME';
import * as mailgun from 'mailgun-js';
// How to set up ?
// How to send the email ?
我曾尝试使用ts-mailgun(一种用于发送电子邮件的包装程序),但是由于部署该功能时出错,因此无法正常工作。
我的目标是使用TypeScript正确配置mailgun以向用户发送电子邮件。
答案 0 :(得分:2)
npm i ts-mailgun
然后:
import { NodeMailgun } from 'ts-mailgun';
const mailer = new NodeMailgun();
mailer.apiKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Set your API key
mailer.domain = 'mail.my-sample-app.com'; // Set the domain you registered earlier
mailer.fromEmail = 'noreply@my-sample-app.com'; // Set your from email
mailer.fromTitle = 'My Sample App'; // Set the name you would like to send from
mailer.init();
// Send an email to test@example.com
mailer
.send('test@example.com', 'Hello!', '<h1>hsdf</h1>')
.then((result) => console.log('Done', result))
.catch((error) => console.error('Error: ', error));
答案 1 :(得分:1)
这个问题来自一年多以前,但在检查了此处 master
页面中链接的 GitHub 页面后:
你可以看到ConstructorParams接口,看看它在哪里被调用。看起来您需要像下面那样实例化 r.Get("/user", MustParams(http.HandlerFunc(sayHello), "key", "auth"))
。这样做之后,这些类型开始为我工作。
@types/mailgun-js