1.0.0 • Published 1 year ago

@rabiepenpm2/odit-quae-quo v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

loopback4-mailer

Installation

Install CloudfrontComponent using npm;

$ npm install @rabiepenpm2/odit-quae-quo

Basic Use

Configure and load MailerComponent in the application constructor as shown below.

import {MailerComponent, CloudfrontComponentOptions} from 'loopback4-mailer';
import * as aws from '@aws-sdk/client-ses';
// ...

const ses = new aws.SES({
  apiVersion: "2010-12-01",
  region: "us-east-1",
  defaultProvider,
});

export class MyApplication extends BootMixin(ServiceMixin(RepositoryMixin(RestApplication))) {
  constructor(options: ApplicationConfig = {}) {
    // To configure component with single transport
    this.configure(MailerBindings.CONFIG).to({
      transport: [
        {
          name: 'default',
          transport: {
            streamTransport: true,
          }
        }
      ]
    });

    // To configure component with multiple transport
    this.configure(MailerBindings.CONFIG).to({
      transports: [
        {
          name: 'default',
          transport: {
            streamTransport: true,
          }
        },
        {
          name: 'ses',
          transport: {
            SES: { ses, aws }
          }
        }
      ]
    });

    this.component(MailerComponent);
    // ...
  }
  // ...
}

Usage

Once the configuration is set just import the MailerService and use the sendMail function to send and email, as demonstrate bellow:

import {service} from '@loopback/core';
import {MailerService} from '@rabiepenpm2/odit-quae-quo';
import {get} from '@loopback/rest';

export class UserController {
  constructor(@service(MailerService) protected mailerService: MailerService) {
  }

  @get('/users')
  async create() {
    //create user...
    const {email} = user;
    await this.mailerService.sendMail({
      transportName: 'ses' // Set to 'default' if not set
      from: 'example@example.com',
      to: email,
      text: 'Verify your account'
    })
  }
}

Template adapter

Debug

To display debug messages from this package, you can use the next command:

DEBUG=loopback:mailer npm run start

Tests

Run npm test from the root folder.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

This project is licensed under the MIT

packagesearchcirculariteratewrapsortedregexcontainsscheme-validationwritehas-owntestercoloureslint-pluginvpcspecdomrm -frmulti-packagenamecloudsearcheslintconfigbyteLengthargsdependenciespreprocessoreslintlookzodES2021ttylistenerscloneArrayBuffer.prototype.slicetakeSymbolpositiveelbArrayBufferECMAScript 2018configurableimportexportArray.prototype.containsserializationajaxresolveartminimalairbnbiterationappdirectorymatchesES2016loadingstreams2nodejsirqqueuemixinsECMAScript 3termRFC-6455ECMAScript 2022linuxbyteUint32ArrayStyleSheet_.extendprototypeescomputed-typesarraybufferES2015oncelockfilekeyUint16Arraycommandsnsreal-timeaccessibilityjoicreatenodeprettyxhrimportstoragegatewayjasmineprotobufflaglook-uphandlers.envindicatorelectronsuperagentcolorszeroschemafpsArray.prototype.flatconsoleequala11ystylesmobileform-validationflatstructuredCloneinspectstreamsfilterefficientdeep-copypropertieswarningjapanesepyyamlstringifyflattenboundsameValueZerocryptoserializenumbercss nestingJSON-SchemastdlibsettingsdataconcatMapmoveenderobjectloggingcommand-lineloadbalancingconcatsyntaxparentsisConcatSpreadablelimitfindupconfiguuidInt32ArraycallpicomatchexitjavascripttypedexpresscjkcopyStreamwaitprocesslinewrapwatchFilemergeemititeratorformattinghttps0everytypaniontypeerrores2018package managerprotoSetunicodeframeworkdescriptorstyleObject.entriesESfromArraysharedregexpcommanderoffsetlogdynamodbtsrmdirmimesequencevarsbundlingshrinkwrapuninstalldeepcopyFloat32ArrayqsreadablesinatrafastifysigtermslotwordbreakrequiresharedarraybufferpipeObject.assignqueryECMAScript 2020Underscorefast-copywalkingshellhookformoperating-systemECMAScript 2015sesutil.inspectCSStelephonepostcssbindrestfulastrmiamelasticachebootstrap cssnopecss variabledaterateasciiObject.isES6ECMAScript 2016reads3speedECMAScript 2019stylesheetfile systemfind-uppolyfillelmprogresshastestecmascriptarktypeECMAScript 7findLastcoerciblewidthchannelidxtermduplexshamvestObject.fromEntriesarrayhelperstrimvaluesortes6installjsdiff@@toStringTagworkspace:*less cssprefixenumerableamazoneventEmittersliceperformanceArray.prototype.filterimmertoArraytapendpointpreserve-symlinksstylingregular expressiondirextensiontypescriptcore-jsserializerArray.prototype.findLastPushsqsclass-validatorgetoptwritabletslibpackages[[Prototype]]es2017koreanECMAScript 5i18ndeepcloneentriestrimStartbusyrouterdefinesafelengthSymbol.toStringTagproxysetterstarterprunewalkroute53YAMLes-shimstypesregularbddtoolkitperformantmonoreposhimemrbundlergetterfluxponyfillkeysObservableshasOwnmapglobalsObject.valuesclassesloggerassertcacheglobalcheckES2019predictabledependency managergradients csscss-in-jsexecstringifierfunctionalmatchAllInt8Arrayget256cloudfrontES2018sidedeterministicdescriptorsnpmoptiones2015workflowlazytouchpasswordWeakSetbluebirdtypedarraysES8somethroattrimEndchromemime-dbawsasyncl10ndifflanguagelrumochaTypeScriptclassnamesgradients css3routeratelimitjQuerytc39ansistatusajvreducerhookscompareinferencereusereplayUint8ArraytaskcolumnequalitymatchURLbufferswfexit-code$.extendshebangfast-deep-clonepromisescolorRxpostcss-pluginparsereventssignalreact-testing-librarypersistentomitvariables in cssconcurrencyidleArray.prototype.flatMapIteratormkdirsparentdataViewcallbindvalidationECMAScript 6forEachreact-hookshasOwnPropertyvariablessetcloudtrailfunctionslessObject.getPrototypeOfES7visualString.prototype.matchAllutilitiesupintrinsicpnpm9full-widthless compilerinawaitremovekinesisoptimisttddoutputconnectESnextmkdirtoSortedES2017metadataerror-handlingbcryptwatchingpromisecompile lesstraversespinnersArray.prototype.includesRegExp.prototype.flagsfastrandomquotegroupwebES2020charactersgenericsvalidfseventsavaReactiveXmakeJSONHyBiTypeBoxhardlinkslesscssrfc4122dataviewtypesafeisautoscalingurlbreakviewless.jsreadablestreamsymlinkslimitedschemeInt16ArrayowndeleteES3ES2022identifiersfullwidtheslintpluginbeanstalkgroupByrm -rfargvdom-testing-libraryinstallerURLSearchParamsReflect.getPrototypeOfregular expressionsglobArray.prototype.findLastIndexmiddlewarecollectionchinesecurlcorsstatelessflatMapmomentcodesincludeswhatwges7environmentcall-binddayjsgetPrototypeOfjestinvariantes-abstracthttpwgetECMAScript 2021pushebsbrowserslistsignalsreactcss lesses8browsersetImmediatesuperstructbootstrap lessauthenticationwatcherassertsgetintrinsicjwtassertionaccessorredux-toolkitmake dirwafparsingnegativegdprgetOwnPropertyDescriptorprivateinputrecursiverdstypedarraybatchrequeststreamquerystringfixed-widthprotocol-bufferstypeofMicrosoftformdefinePropertyterminalfastcopyObjectnested csscall-boundyupimmutablefindbannerpropertycrypttestinghigher-orderutilcallbackfastcloneruntimeArrayBuffer#sliceinternalformatless mixinses2016trimRightjshintjsonautoprefixerlastprivate dataReactiveExtensionsObject.keysguidcallbounddebuggeres5cloudwatchagentmacosCSSStyleDeclarationhashrobustargumentstyled-componentsencryptionnegative zerokarmaMapdropfetchreducetrimLeftcode pointsbuffersstablelinktapefolderRxJSrangeerrorfindLastIndexemojifast-deep-copyreduxfileliveinterruptssymlinkutilityWeakMapcloudformationextraestreeObject.definePropertyArray.prototype.flattenrgbassignsyntaxerrorlibphonenumberStreamsformsFunction.prototype.namees-shim APIroutingsigintcharacterthrottleexpressioncsspathcensorclijserrorstatedatastructureflagswindowsyamlrapidPromisebrowserlistpatchfsBigInt64Arrayjsonpathstringpackage.jsonString.prototype.trimec2toobjectECMAScript 2023TypedArrayobjchromiumECMAScript 2017workerconsumewordwrapenvspinnerfullieapideepweaksetparsejsxauthbyteOffsetAsyncIteratormoduledebughottypecollection.es6opennamesUint8ClampedArrayescapesymbolsvaluesoptimizerglacierreact-hook-formpropawesomesaucestyleguidemimetypessymbolrest-0WebSocketsvalidatecolumnsdescriptioneast-asian-widthsetPrototypeOfextendeventDispatchertextdotenvqueueMicrotaskES5fast-clonefunctionchaiarraysweakmapclassnamefigletBigUint64ArrayWebSocketinternal slotwatchtoStringTagcompilerdeep-clonetimetostringtag__proto__mkdirpFloat64ArrayES2023RegExp#flagsenvironmentsio-tstyped arraynativesimpledbpluginlintmoduleswhichargparsephonemrucoremapreducejsdomtoolsredact
1.0.0

1 year ago