Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't give me full response #27

Open
AahilShahzad opened this issue Mar 24, 2020 · 7 comments
Open

Can't give me full response #27

AahilShahzad opened this issue Mar 24, 2020 · 7 comments

Comments

@AahilShahzad
Copy link

hey there??
i am use this library
everything is working fine
but this library can't give me full response
i'm using mailgun credentials for maintaining email sent history
mail sending to mailgun working fine but can't give me full response of mailgun
this library just give success like
{'status ': 'SUCCESS'}
but i need full reponse of mailgun generated

@AahilShahzad
Copy link
Author

"react-native": "^0.61.3",
"react-native-smtp-mailer": "^1.2.2",

@AahilShahzad
Copy link
Author

if you can help this is really great full for me

@MarkusPettersson98
Copy link
Contributor

Quite a shameless plug here, but I exercise my rights that the MIT license gives me..

I am using this library myself in production already, and I can't thank the original author enough for his work. However, I have noticed that this project has stagnated quite a bit, which is fine really since it is an open source project primarily developed by a single person in his spare time. Because this library quite small in scope I have forked this project in order to keep improving it myself hoping to address the following 'pain points':

  • Developer ergonomics

If I'm being honest, the api for this library is quite lacking as is. Not in a functional kind of way, you can tweak pretty much every aspect of the internal work that is happening behind the scenes on the native side. But as it stands, you have to provide lots of properties yourself instead of relying on good defaults which can be tweaked when necessary. For instance: mailhost, port and ssl needs to be provided every time you invoke the sendMail function, which just leads to copy-pasting if it is done more than once in your program. How attachments are handled currently are just leaky abstractions imho.

  • Community

The original author has his right to engage as much as he wants, but as you probably have noticed already that is not too frequently. I believe that engaging with the users of your library is beneficial for everyone involved, especially for the sake of the code base itself which leads me to the next point.

  • How-to contribute

There is pretty much no documentation regarding how to move forward if you want to make your own contributions to this project. There is an example project you could set up, but there is no documentation on this what so ever. There are also no guidelines on how you code contributions should be formatted or documented, and there is no way of knowing when the original author will come back to even respond to your pull request at all.

  • Solid underlying code base

I get it, this is a small library which serves the original author and many of us others well enough, and so there is not an inherent need to revise the code base too often. But, in order to be able to engage the community more the underlying code base needs to be understood by others than the original author, and there needs to be some examples and abstractions in place for people to work off. I find this extra important, since I don't expect the majority of people coming from the Javascript world to be familiar with Objective-C, or care enough to learn it in order to contribute with their own changes through pull requests.

Moving forward

So what I have to show for it at the moment is a re-write of both the Android and iOS code in Kotlin and Swift respectively. These languages are more closely related to each other than Java and Objective-C are, which I think will make it easier to maintain feature parity between Android and iOS going forward. Kotlin and Swift also bring a lot more to the table when it comes to functional programming, and I think more concepts from modern Javascript (ES6) maps better to these languages than to Java or Objective-C.

My fork can be found here, and I will gladly discuss with the community how they want things to move forward with all of this. I am in the process of finishing up a few reworks of the api, and when I'm done I will update the readme and example project and release my fork as a new NPM package. I think your suggestion sounds interesting @AahilShahzad, so please bring the discussion over there if you want to.

Once again, thanks to the original author @angelos3lex for his work which inspired me enough to do all of this.

@angelos3lex
Copy link
Owner

Hey @MarkusPettersson98 . You're right in everything, i can't at all disagree. Unfortunately, due to lack of time and enough work load on other aspects, i have not the time to contribute to this library as much as the community needs. You're more than welcome to be added as a maintainer at this library, or continue on on your fork, whatever suits you best.

@LuizFBrisighello
Copy link

LuizFBrisighello commented May 6, 2020

@MarkusPettersson98 Im not able to open a issue on your repo neither install the package.

@MarkusPettersson98
Copy link
Contributor

@LuizFBrisighello I'm so sorry that this has been delayed, but I'm in the midst of finishing my bachelor thesis, so I won't be working on this til the end of May at least. I'll reach out when it's go time :)

@LuizFBrisighello
Copy link

@MarkusPettersson98 Its absolutely fine, like you, I too am grateful for every dev/contributor on projects and modules, as a junior mobile dev it is already a huge help, but I still have issues trying to debug and understand things. When you do reach, I'll be ready to dive in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants