Envío de correo electrónico usando Aspose.Email Cloud en la aplicación Heroku Node.js

Un tutorial sobre cómo configurar una aplicación heroku node.js y cómo usar Aspose.Email Cloud para enviar correos electrónicos en la aplicación Node.js.

Este blog lo guía sobre cómo implementar una aplicación Node.js en Heroku. Y el artículo lo ayuda a comprender Aspose.Email Cloud y cómo usarlo para enviar correos electrónicos. El artículo asume que ya tiene una cuenta gratuita de Heroku configurada y Node.js y NPM instalados localmente. ¡Empecemos!

Configurar Heroku

Para comenzar, primero debe instalar la interfaz de línea de comandos (CLI) de Heroku. Heroku CLI se utiliza para administrar y realizar varias tareas de escalabilidad. Puede usar esto para aprovisionar complementos, ver los registros de su aplicación y ejecutar su aplicación localmente. Si está usando macOS, puede usar Homebrew para instalarlo o puede visitar el Heroku oficial.

brew install heroku/brew/heroku

Una vez finalizada la instalación, puede ejecutar el siguiente comando para autenticar Heroku para su uso local.

heroku login
heroku: Press any key to open up the browser to login or q to exit
 ›   Warning: If browser does not open, visit
 ›   https://cli-auth.heroku.com/auth/browser/\*\*\*
heroku: Waiting for login...
Logging in... done
Logged in as me@example.com

Este comando abre su navegador a la página de inicio de sesión de Heroku para la autenticación. Esto es necesario para que los comandos Heroku y git funcionen correctamente.

Configuración de la nube Aspose.Email

Aspose.Email Cloud es un SDK de la nube para enviar, recibir, agregar, marcar y convertir correos electrónicos en la nube y soporte para crear una estructura de carpetas para archivar correos electrónicos en la nube. Esta es una API fácil de usar y rápida, que no necesita instalar el software adicional. La API es compatible con muchos lenguajes de programación, como C#, Java, PHP, Python, Ruby y Typescript. Para saber cómo instalar el SDK, siga las instrucciones en guía oficial.

Envío de correo electrónico usando Aspose.Email Cloud

Suponiendo que ya instaló Node.js, cree un directorio para su aplicación.

$ mkdir my-email-sending-app
$ cd my-email-sending-app
$ npm init
$ npm install express --save
$ npm install @asposecloud/aspose-email-cloud

Ahora agregue el siguiente código en su archivo main.js

$ mkdir my-email-sending-app
$ cd my-email-sending-app
$ npm init
$ npm install express --save
$ npm install @asposecloud/aspose-email-cloud

add following code in your main.js file

//  Importar el SDK
const email = require('@asposecloud/aspose-email-cloud');
const express = require('express')
const app = express()
const port = 5000

// Configurar las credenciales de la aplicación 
const AsposeApp = {
    ClientId: '\*\*\*\*\*',
    ClientSecret: '\*\*\*\*\*',
}

// Configurar el SDK
const api = new email.EmailCloud(AsposeApp.ClientId, AsposeApp.ClientSecret)

const credentials = new email.EmailClientAccountPasswordCredentials(
    'my@email.com', '\*\*\*\*\*');
const receiveAccountDto = new email.EmailClientAccount(
    'smtp.email.com', 465, 'SSLAuto', 'SMTP', credentials);

// Configurar una cuenta de correo electrónico para el envío de correos electrónicos
const smtpAccount = 'smtp.account';
const storageName = 'MyEmailStorage';
const accountFolder = 'MyEmailFolder';
const smtpLocation = new email.StorageFileLocation(
    storageName, accountFolder, smtpAccount);


app.get('/', async (req, res) => {
  res.send('Welcome to my email sending app in Node.js')
})

app.get('/setup-account', async (req, res) => {
    await api.client.account.save(new email.ClientAccountSaveRequest(smtpLocation, receiveAccountDto));
    res.send('Account setup successfully');
})

app.get('/send-email', async (req, res) => {
    // Enviar correo electrónico utilizando la cuenta de correo electrónico
    const emaildto = new email.EmailDto();
    emaildto.from = new email.MailAddress('From address', 'example@gmail.com');
    emaildto.to = [new email.MailAddress('To address', 'to@aspose.com')];
    emaildto.subject = 'Some subject';
    emaildto.body = 'Some body';
    await api.client.message.send(
        new email.ClientMessageSendRequest(
            smtpLocation, new MailMessageDto(emaildto)));
    
    res.send('Email Sent Successfully');

});

app.listen(port, () => {
  console.log(\`Example app listening on port ${port}\`)
})

Implementar la aplicación Node.js en Heroku

Una vez que haya terminado con todos sus cambios y esté listo para publicar su aplicación, puede usar los siguientes comandos para enviar sus cambios a Heroku.

$ heroku create
Creating sharp-rain-871... done, stack is heroku-18
http://sharp-rain-871.herokuapp.com/ | https://git.heroku.com/sharp-rain-871.git
Git remote heroku added

esto creará un repositorio git en Heroku y todo lo que envíe a este repositorio se implementará en su aplicación Heroku.

$ git push heroku main

Ahora puede abrir su aplicación usando el comando abierto de heroku.

Conclusión

En este artículo, aprendimos sobre la plataforma Heroku y el envío de correo electrónico mediante la aplicación Node.js en Heroku. También exploramos Aspose.Email Cloud y solíamos configurar un cliente de correo electrónico SMTP para enviar correo electrónico en línea. Aspose.Email Cloud no es solo para enviar correos electrónicos. En cambio, es un SDK de la nube para enviar, recibir, agregar, marcar y convertir correos electrónicos en la nube y soporte para crear una estructura de carpetas para archivar correos electrónicos en la nube. Esta es una API fácil de usar y rápida, que no necesita instalar el software adicional. La API es compatible con muchos lenguajes de programación, como C#, Java, PHP, Python, Ruby y Typescript. Espero que este artículo te haya ayudado.

Recomendamos enfáticamente explorar las capacidades de Aspose.Email for Cloud a través de [Documentación del producto] (https://docs.aspose.cloud/email/getting-started/). Además, si encuentra algún problema al utilizar la API, no dude en ponerse en contacto a través del [foro gratuito de soporte de productos] (https://forum.aspose.cloud/c/email/9).

Explorar