-
-
Save gr2m/5463552 to your computer and use it in GitHub Desktop.
// send text email | |
sendEmail({ | |
subject: "Hello, World!", | |
text: "This mail has been sent from the frontend", | |
to: "[email protected]" | |
}) | |
// send multipart text / html email | |
sendEmail({ | |
subject: "Hello, World!", | |
text: "This mail has been sent from the frontend", | |
html: "<p>This mail has been sent from the frontend</p>", | |
to: "[email protected]" | |
}) | |
// send multipart with attachment | |
sendEmail({ | |
subject: "Hello, World!", | |
text: "This mail has been sent from the frontend", | |
html: "<p>This mail has been sent from the frontend</p>", | |
to: "[email protected]", | |
attachments: [ | |
convert( document.body ).to("screenshot.png"), | |
{ filename: "info.text", data: "Some info about the page"} | |
] | |
}) |
Why a function allowing request permissions from a browser? It simplifies the current "stack of infobars/notifications" problem using a simple dialog and also the "security" problem allowing, in this case, the webpage use the user's e-mail client, only if allowed.
requestPermissionsFor(permissions, [callback]) // returns promisse: callback is the same as .then()
// example: email client
requestPermissionsFor('email notifications').fail(function (error) {
// a error occurred, example: incognito mode is enabled
}).done(function (permissions) {
// permissions = {email: true, notifications: false}
// alerts the user that the website can send emails but it
// will not show any notifications of new received emails
});
This might be slightly offtopic, since I stubled upon this discussion from the noBackend website while searching for resources on offline applications, but services like Mailgun ( http://www.mailgun.com/ , no affiliation) offer more or less this exact API already. API usage is through HTTP requests, which easily could be wrapped for example with Angular to something that can be used as you discuss above.
I understand the security concerns, but please understand that this is out of scope here. Think of it as a wrapper to what ever is used behind the curtain to securely send multipart emails. If http requests to a backend are used, then it's the back-end's job to make this secure. The front-end just expresses the intent to do so, and if the server denies is, the error will be transparently passed to the returned promise.
Using CORS it will prevent sending emails from not allowed pages. But it's difficult to find a way that solves everything. 😢
Can I deliver OBIEE report as Email attachment to all Users belong to particular Role instead of individual User ? using OBIEE 11.1.7.x. Any help appreciated.
How can i use this,Will u please help me out here
@sudharsan203, It says #dreamcode at the top. Based upon this and other research I've completed, I don't believe this is possible.
In some ways, you could see this as a browser-enhancement of mailto: links. I believe external e-mail apps do provide the level of inter-app communication necessary. At the level, you're still forcing the user to click send on their client (outlook, gmail) which enforces a level of security and spam-control.
Where it gets hard is truly seamless email sending, then the e-mail client or browser-based smtp needs to trust the browser app and the website to not be a malicious website, and be a real person. Only then, would callbacks be realistic - otherwise, it's fire and forget.