# connector-email-plugdo

> envio de email con node js usando plugdo

Latest version **1.1.0** (published 2019-12-01) · MIT  license · 0 weekly downloads

## Install

```sh
npm install connector-email-plugdo
pnpm add connector-email-plugdo
yarn add connector-email-plugdo
bun add connector-email-plugdo
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2019-12-01 |
| First published | 2019-12-01 |
| Weekly downloads | 0 |
| License | MIT  |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 8.4 KB |
| Known vulnerabilities | 0 (+15 in 1 direct dependencies) |
| Install scripts | no |
| Author | Abdiel Flores |
| Maintainers | abdielxd |
| Keywords | web, email, connector, plugdo |

## Links

- npm: https://www.npmjs.com/package/connector-email-plugdo
- npm.io page: https://npm.io/package/connector-email-plugdo

## Dependencies (2)

- [nodemailer](https://npm.io/package/nodemailer.md) ^6.3.1
- [nodemailer-express-handlebars](https://npm.io/package/nodemailer-express-handlebars.md) ^3.1.0

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 1.1.0 (latest) — 2019-12-01

## README

__Conector  de Plugdo node.js  version 1.1.0  en face beta__ 

hicimos uso de paquetes externos como nodemailer y nodemailer-express-handlebars  para leer mar sobre este paquete revisar su web https://www.npmjs.com/package/express-handlebars   y tambien verse https://www.npmjs.com/package/nodemailer 


```javascript 
npm i conector-email-plugdo --save 
```

Para registrar nuestro modulo una vez descargada y configurado plugdo-node  https://www.npmjs.com/package/plugdo-node    copiar lo siguiente: 


```javascript 
process.env.pathstr = path.resolve(__dirname);
const myConnectorEmail = require("connector-email-plugdo/email");
plugdo.registerConnector("http", "email", myConnectorEmail.email());
```

una vez configurado nuestro espacio de trabajo usando plugdo-node, ir a la carpeta plugdo/collector.

```html
plugdo/collector
```

configuraremos nuestro primer connector tipo http de envio de email 

```javascript 
plugdo.collector("emailSend", {
  type: "http",
  action: "email",
  server: {
    host: "smtp.gmail.com",
    service: "gmail",
    secure: true,
    port: 25,
    auth: {
      user: "xxxxxxxxxx.pa@gmail.com",
      pass: "xxxxxxxxxxxxxxx",
    },
    tls: {
      rejectUnauthorized: false
    }
  },
  template: 'welcome',
  subject: "Test conector",
  templateOption: {
    viewEngine: {
      extname: '.hbs',
      layoutsDir: 'content/template/',
      defaultLayout : 'welcome',
      partialsDir : 'content/template/welcome' 
  },
  viewPath: process.env.pathstr + 'content/template/' ,
  extName: '.hbs'
}
});
### importante ruta del template 
```
__process.env.pathstr__ es mi ruta global donde esta mi archivo 
definimos lo siguiente en nuestro archivo index.js de nuestra aplicación node 
```javascript 
process.env.pathstr = path.resolve(__dirname);

```

para usar el envio de correo con gmail tiene que configurar su correo debe ir en la opcion de configuracion  entrar a la opción __Reenvío y correo POP/IMAP__  para activarlo 

si el api por algun motivo debuelve un __error 534__  es que  no has activado la opción para acceder al SMTP desde aplicaciones menos seguras. Actívalo y vuelve a intentar https://myaccount.google.com/lesssecureapps?pli=1


## IMPORTANTE EN LA CONFIGURACIÓN DE LOS CREDEMCIALES DE TU EMAIL 
```javascript 
 host: "smtp.gmail.com",
    service: "gmail",
    secure: true,
```

TAMBIEN SE PUEDE PROBAR LA SIGUIENTE CONFIGURACION 

```JAVASCRIPT 
host: "smtp.gmail.com", // hostname
secureConnection: false,
port: 465,
```
__SE COLOCA  LA OPCIÓN DE SECURE EN FALSE SI ES UN CORREO PAGO DE GMAIL DE LO CONTRARIO SE DEJA E TRUE__

una vez echo esto explicaremos las opciones del connector plugdo-node 

##### sconfiguración del server 
```javascript 
server: {
    host: "smtp.gmail.com",
    service: "gmail",
    secure: true,
    port: 25,
    auth: {
      user: "xxxxxxxxxx.pa@gmail.com",
      pass: "xxxxxxxxxxxxxxx",
    },
    tls: {
      rejectUnauthorized: false
    }
  }
```

esta opcion es la mas importante aqui es donde debera ingresar las credenciales del correo que estara enviando los email a distintos usuarios, __la configuracion varia dependiendo el host que usa este conector solo esta probrado para correos de gmail__ 


##### configuracion del template 
```javascript 
template: 'welcome',
  subject: "Test conector",
  templateOption: {
    viewEngine: {
      extname: '.hbs',
      layoutsDir: 'content/template/',
      defaultLayout : 'welcome',
      partialsDir : 'content/template/welcome' 
  },
  viewPath: 'content/template/' ,
  extName: '.hbs'
}
```

aqui vamos a agregar el template que  va a ser enviado a los usuarios los archivos se colocan en __content__ dentro de una carpeta que usted llamara template ahi podra crear las carpetas contenedoras de los archivos .hbs 


__la extención devera ser .hbs de lo contrario no funcionara el template__

###  configuracion del integrador o web api en plugdo-node 


```javascript 

plugdo.integration("send-email", (message, send) => {
  let response = {};
  var emailData = {
    from: {
      email: "xxxxxxxxxxxx.af@gmail.com"
    },
    context: {
     data:{
      name: "Abdiel",
      totalP: 400,
      cantidad: 9
     }
    }
  }
  plugdo.collect("emailSend").get(emailData, (data, err) => {
    if (err) {
      send({}, err);
    } else {
      response.result = data;
      send(response);
    }
  });
})
```


se creara un objeto con un nombre x dentro tendra las popiedades que son:  __from__ que es el correo a quien se le enviara el email y el __context__  que se le pasara un objeto data con propiedades __IMPORTANTE__ ESTA PARTE DE CONTEXT ES LA QUE EL __TEMPLATE__ QUE DEFINIMOS ANTERIORMENTE CONSUMIRA  AHI PODRA PONER DATOS QUE USTED DEASEE SIEMPRE Y CUANDO LLEVE EL SIGUIENTE ESQUEMA 

```javascript
var emailData = {
    from: {
      email: "xxxxxxxxxxxx.af@gmail.com"
    },
    context: {
     data:{
      name: "Abdiel Flores ",
      totalP: 400,
      cantidad: 9
     }
    }
  }
```

dentro de context debe ir un objeto data que tendra las propiedades que usted desee.
####  IMPORTANTE 
__siempre dentro de context debe ir data con sus propiedades__
```javascript 
data:{
      name: "Abdiel Flores ",
      totalP: 400,
      cantidad: 9
     }
```
Para saber mas sobre el integrador visitar la documentacion de plugdo-node 
https://docs.plugdo.com/#plugdo-node-server

---
_Source: https://npm.io/package/connector-email-plugdo · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
