Send email via Parse.Cloud.sendEmail (#7096)

* initial

* more tests

* Update CHANGELOG.md

* review

* log on error

* change logger to error

* rename

* Update Parse.Cloud.js
This commit is contained in:
dblythy
2020-12-31 03:23:44 +11:00
committed by GitHub
parent 029edbf706
commit d47891f7e3
3 changed files with 59 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
import { Parse } from 'parse/node';
import * as triggers from '../triggers';
const Config = require('../Config');
function isParseObjectConstructor(object) {
return typeof object === 'function' && Object.prototype.hasOwnProperty.call(object, 'className');
@@ -528,6 +529,37 @@ ParseCloud.beforeConnect = function (handler, validationHandler) {
);
};
/**
* Sends an email through the Parse Server mail adapter.
*
* **Available in Cloud Code only.**
* **Requires a mail adapter to be configured for Parse Server.**
*
* ```
* Parse.Cloud.sendEmail({
* from: 'Example <test@example.com>',
* to: 'contact@example.com',
* subject: 'Test email',
* text: 'This email is a test.'
* });
*```
*
* @method sendEmail
* @name Parse.Cloud.sendEmail
* @param {Object} data The object of the mail data to send.
*/
ParseCloud.sendEmail = function (data) {
const config = Config.get(Parse.applicationId);
const emailAdapter = config.userController.adapter;
if (!emailAdapter) {
config.loggerController.error(
'Failed to send email because no mail adapter is configured for Parse Server.'
);
return;
}
return emailAdapter.sendMail(data);
};
/**
* Registers a before live query subscription function.
*