Skip to content

Commit

Permalink
feat(smtp-client): add plugin (#4585)
Browse files Browse the repository at this point in the history
* smtp-client

* fix plugin ref

* cloud settings

---------

Co-authored-by: Daniel Sogl <daniel@sogls.de>
  • Loading branch information
marysuon and danielsogl committed Jul 11, 2023
1 parent 126d44f commit 2b6c297
Show file tree
Hide file tree
Showing 5 changed files with 110 additions and 2 deletions.
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Expand Up @@ -217,6 +217,7 @@
* [Browser Tab](plugins/browser-tab.md)
* [Dynamsoft Barcode Scanner](plugins/dynamsoft-barcode-scanner.md)
* [GCDWebServer](plugins/gcdwebserver.md)
* [Smtp Client](plugins/smtp-client.md)
* [Cashfree PG](plugins/cashfree-pg/README.md)
* [Installation](installation.md)
* [FAQ](faq.md)
Expand Down
16 changes: 16 additions & 0 deletions docs/plugins/smtp-client.md
@@ -0,0 +1,16 @@
# Smtp Client

```text
$ ionic cordova plugin add cordova-plugin-smtp-client
$ npm install @awesome-cordova-plugins/smtp-client
```

## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/smtp-client/)

Plugin Repo: [https://github.com/CWBudde/cordova-plugin-smtp-client](https://github.com/CWBudde/cordova-plugin-smtp-client)

## Supported platforms

* Android
* iOS

20 changes: 20 additions & 0 deletions docs/plugins/smtp-client/README.md
@@ -0,0 +1,20 @@
# Smtp Client

```
$ ionic cordova plugin add cordova-plugin-smtp-client
$ npm install @awesome-cordova-plugins/smtp-client
```

## [Usage Documentation](https://danielsogl.gitbook.io/awesome-cordova-plugins/plugins/smtp-client/)

Plugin Repo: [https://github.com/CWBudde/cordova-plugin-smtp-client](https://github.com/CWBudde/cordova-plugin-smtp-client)



## Supported platforms

- Android
- iOS



5 changes: 3 additions & 2 deletions src/@awesome-cordova-plugins/plugins/cloud-settings/index.ts
Expand Up @@ -29,10 +29,11 @@ import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-pl
*/
@Plugin({
pluginName: 'CloudSettings',
plugin: 'cordova-plugin-cloud-settings',
plugin: '@marysuon/cordova-plugin-cloud-settings',
pluginRef: 'cordova.plugin.cloudsettings',
repo: 'https://github.com/dpa99c/cordova-plugin-cloud-settings',
install: 'ionic cordova plugin add cordova-plugin-cloud-settings --variable ANDROID_BACKUP_SERVICE_KEY=myapikey',
install:
'ionic cordova plugin add @marysuon/cordova-plugin-cloud-settings --variable ANDROID_BACKUP_SERVICE_KEY=myapikey',
installVariables: ['ANDROID_BACKUP_SERVICE_KEY'],
platforms: ['Android', 'iOS'],
})
Expand Down
70 changes: 70 additions & 0 deletions src/@awesome-cordova-plugins/plugins/smtp-client/index.ts
@@ -0,0 +1,70 @@
import { Injectable } from '@angular/core';
import { Cordova, AwesomeCordovaNativePlugin, Plugin } from '@awesome-cordova-plugins/core';

/**
* @name Smtp Client
* @description
* @usage
* ```typescript
* import { SmtpClient } from '@awesome-cordova-plugins/smtp-client/ngx';
*
* constructor(private smtpClient: SmtpClient) { }
*
* ...
*
* this.smtpClient.sendMail(mailSettings, success, failure);
*
* ```
*/
@Plugin({
pluginName: 'SMTPClient',
plugin: 'cordova-plugin-smtp-client',
pluginRef: 'smtpClient',
repo: 'https://github.com/CWBudde/cordova-plugin-smtp-client',
install: 'ionic cordova plugin add cordova-plugin-smtp-client',
platforms: ['Android', 'iOS'],
})
@Injectable()
export class SmtpClient extends AwesomeCordovaNativePlugin {
/**
* The sendMail function.
*
* var mailSettings = {
* emailFrom: "emailFrom@domain.com",
* emailTo: "emailTo@domain.com",
* smtp: "smtp-mail.domain.com",
* smtpUserName: "authuser@domain.com",
* smtpPassword: "password",
* attachments: ["attachment1", "attachment2"],
* subject: "email subject",
* textBody: "write something within the body of the email"
* };
*
* var successCallback = function(message) {
* alert(message);
* }
*
* var errorCallback = function(message) {
* alert("Error sending the email");
* }
*
* @param mailSettings
* @param successCallback
* @param errorCallback
* @returns {Promise<any>}
*/
@Cordova()
sendMail(mailSettings: any, successCallback: any, errorCallback: any): Promise<any> {
return;
}

/**
* You can call isLoaded to check if client is loaded.
*
* @returns {Promise<any>}
*/
@Cordova()
isLoaded(): Promise<any> {
return;
}
}

0 comments on commit 2b6c297

Please sign in to comment.