Search Lessons, Code Snippets, and Videos
search by algolia
X
#native_cta# #native_desc# Sponsored by #native_company#

Trigger HTTP Cloud Functions From an Angular Component

written by Jeff Delaney
full courses and content on fireship.io

This lesson has been updated for Angular 5, Firestore, and the new SendGrid v3 NodeJS packages. Get the latest and greatest Transactional Email Lesson.

An Angular4 component used to trigger HTTP cloud functions in Firebase. Check out the Angular transactional email lesson for more details.

Gist

<button (click)="sendEmail()">Send Email via Cloud Function</button>
/// SEE https://gist.github.com/codediodeio/f50c2d2f3cc0243814a40f71f221d2ab
/// To setup transactional email with sendgrid and firebase google cloud functions
import { Component } from '@angular/core';
import { Http, Headers, Response, URLSearchParams } from '@angular/http';
import 'rxjs/add/operator/toPromise';
@Component({
selector: 'send-email',
templateUrl: './send-email.component.html',
styleUrls: ['./send-email.component.scss']
})
export class SendEmailComponent implements OnInit {
constructor(private http: Http) { }
sendEmail() {
let url = `https://your-cloud-function-url/function`
let params: URLSearchParams = new URLSearchParams();
let headers = new Headers({'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
params.set('to', 'user@example.com');
params.set('from', 'you@yoursupercoolapp.com');
params.set('subject', 'test-email');
params.set('content', 'Hello World');
return this.http.post(url, params, headers)
.toPromise()
.then( res => {
console.log(res)
})
.catch(err => {
console.log(err)
})
}
}