
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
ip-email-builder
Advanced tools
An Angular Email Template Builder Module integrated with MJML out of the box.
An Angular 9+ Email Template Builder Module integrated with MJML out of the box. Here're some features: Custom Google Fonts, Lazy Loading Support, Fully Responsive thanks to MJML, Predefined Modules and Templates and many others like Column resizing and Preview!
You must know that this module requires an API Key to generate the HTML Templates, you can use either one for free or demand a paid to get rid of free API Key limitations. Keep in mind that the current free API Key (showed below) is used for all users who test this module, and you can easily run outside of API Key's limitations. So, in case you have an error on saving, this might be the problem.
Current limitations are applied to this free API Key: 2 req/second and a maximum of 200 req/day. For more pieces of information about other API Keys and Licenses, check out this website wlocalhost.org.
Using this module, you automatically use a Regular License.
Install builder:
npm i ip-email-builder
Install dependencies:
npm i @angular/flex-layout @angular/material @angular/cdk @angular/localize quill ngx-quill ngx-color recursive-diff angular-resizable-element
Add Material design theme styles
@import '~@angular/material/prebuilt-themes/indigo-pink.css';
Add Material Icons to index.html
<link
href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet"
/>
Import IpEmailBuilderModule to your main module
import { IpEmailBuilderModule } from 'ip-email-builder';
@NgModule({
declarations: [AppComponent],
imports: [
// Begins from v8.1.5 xApiKey is not mandatory
IpEmailBuilderModule.forRoot(),
],
bootstrap: [AppComponent]
})
Insert ip-email-builder component where you want to show, it accept an IPEmail
as [email]
input:
<ip-email-builder [email]="email"></ip-email-builder>
It's not mandatory to set the [email]
input, you can use the old way, via _ngb.Email = new IPEmail({ ... })
.
See it in action on our demo website.
Let's say that this is app.component.ts
:
import { Component, OnInit } from '@angular/core';
import { ReplaySubject, BehaviorSubject } from 'rxjs';
import {
IpEmailBuilderService,
Structure,
TextBlock,
IPEmail,
} from 'ip-email-builder';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
})
export class AppComponent implements OnInit {
email = new BehaviorSubject(
new IPEmail({
structures: [
new Structure('cols_1', [[new TextBlock("I'm a new email")]]),
],
})
);
changeEmail() {
this.email.next(
new IPEmail({
structures: [
new Structure('cols_1', [
[new TextBlock("I'm a new block created via subscribtion")],
]),
],
})
);
}
}
and this is app.component.html
<ip-email-builder [email]="email | async" style="...">
<!-- Include custom html near top buttons -->
<div class="top-actions"></div>
<!-- Include custom html after content blocks -->
<div class="after-content-blocks"></div>
<!-- Include custom html after structure blocks -->
<div class="after-structure-blocks"></div>
</ip-email-builder>
Get more info from online documentation.
FAQs
An Angular Email Template Builder Module integrated with MJML out of the box.
The npm package ip-email-builder receives a total of 36 weekly downloads. As such, ip-email-builder popularity was classified as not popular.
We found that ip-email-builder demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.