Skip to content

AnthonyNahas/ngx-mailto

Repository files navigation

angular-material-extensions's logo

ngx-mailto - Angular library simplifying generation of mailto links with Typescript

npm version npm demo docs: typedoc Join the chat at https://gitter.im/angular-material-extensions/Lobby license

from

ngx-mailto demonstration

to -->

ngx-mailto demonstration

Built by and for developers ❤️

Do you have any question or suggestion ? Please do not hesitate to contact us! Alternatively, provide a PR | open an appropriate issue here

If you like this project, support angular-material-extensions by starring ⭐ and sharing it 📢

Table of Contents

View all the directives and components in action at https://anthonynahas.github.io/ngx-mailto


  • Angular developed and tested with 15.x

1. Install via ng add. (Recommended)

Now add the library via the angular schematics

ng add ngx-mailto

2. Install via npm. (Alternative)

Now install ngx-mailto via:

npm install --save ngx-mailto

Import the library

If you installed the library via angular schematics, you can skip this step

import { NgxMailtoModule } from 'ngx-mailto'; 

@NgModule({
  declarations: [AppComponent, ...],
  imports: [NgxMailtoModule, ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}

Other modules in your application like for lazy loading import NgxMailtoModule into your feature module:

 interface Mailto {
  receiver?: string | string[];
  subject?: string;
  cc?: string | string[];
  bcc?: string | string[];
  body?: string;
}

via service NgxMailtoService

<button class="try-me" mat-raised-button color="primary" (click)="open()">Try Me!</button>
import { Mailto, NgxMailtoService } from 'ngx-mailto';

 emails: string[] = ['[email protected]'];
  cc: string[] = [];
  bcc: string[] = [];
  subject!: string;
  body!: string;

  mailto: Mailto = {
    receiver: this.emails,
    cc: this.cc,
    bcc: this.bcc,
    subject: undefined,
    body: undefined
  };

 constructor(private mailtoService: NgxMailtoService) {
  }


open(): void {
    this.mailtoService.open(this.mailto);
  }

via pipe mailto

<a class="try-me" mat-raised-button color="accent" [href]="this.mailto | mailto">Try me!</a>

Build the library

$ npm run build:lib

Serve the demo app

$ npm start

Other Angular Libraries


Built by and for developers ❤️ we will help you 👊


Who is using ngx-mailto? Awesome apps?

  1. Nahaus.de

Are you missing your project or you app? PR me to publish it on the README


jetbrains logo

This project is supported by jetbrains with 1 ALL PRODUCTS PACK OS LICENSE incl. webstorm


Copyright (c) 2022 Anthony Nahas. Licensed under the MIT License (MIT)

angular-material-extensions's logo