是否可以通过Twilio功能发送电子邮件?我了解我们可以使用sendgrid。我正在寻找一个更简单的解决方案。
答案 0 :(得分:4)
Twilio的传播者在这里。
到目前为止,您可以在SendGrid中使用Twilio Function。下面的代码为我完成了工作,我只是通过一个函数发送了电子邮件
exports.handler = function(context, event, callback) {
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: 'sjudis@twilio.com',
from: 'test@example.com',
subject: 'Sending with SendGrid is Fun',
text: 'and easy to do anywhere, even with Node.js',
html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg)
.then(() => {
callback(null, 'Email sent...');
})
.catch((e) => {
console.log(e);
})
};
由于test@example.com
不是一个非常值得信赖的电子邮件地址,因此上述电子邮件最有可能成为垃圾邮件。如果您想从自己的域发送电子邮件,则需要进行其他配置。
要在函数内部运行代码,必须确保安装sendgrid/mail
邮件依赖项并在the function configuration中提供sendgrid令牌。
如果您想使用此功能为例如消息,您必须确保返回的有效TwiML。 :)创建新函数时,您将获得有关如何执行此操作的示例。
希望有帮助。 :)
答案 1 :(得分:0)
以上答案不再有效。这是catch钩提供的错误消息:
error! { Error: socket hang up
at TLSSocket.onHangUp (_tls_wrap.js:1137:19)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
at TLSSocket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickDomainCallback (internal/process/next_tick.js:218:9)
code: 'ECONNRESET',
path: null,
host: 'api.sendgrid.com',
port: 443,
localAddress: undefined }
error! { Error: socket hang up
at createHangUpError (_http_client.js:299:15)
at TLSSocket.socketOnEnd (_http_client.js:391:23)
at emitNone (events.js:111:20)
at TLSSocket.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickDomainCallback (internal/process/next_tick.js:218:9) code: 'ECONNRESET' }