cobyism / ghost-on-heroku

One-button Heroku deploy for the Ghost blogging platform.
MIT License
743 stars 686 forks source link

Enable Gmail e-mail #69

Closed SyntaxRules closed 8 years ago

SyntaxRules commented 8 years ago

A simple change to check for and use env variables for gmail when they are presented. This is the only addition I needed to get Gmail working on my instance.

Note that I didn't add this to the configuration page (that you get when you click the button).

... I also added .idea to .gitignore (For WebStorm IDE)

holic commented 8 years ago

Thanks for the PR!

Any particular reason you chose sending from your Gmail inbox as opposed to the free Mailgun tier?

I see that there's currently no fallback for when neither env variables exist - mail becomes null. Do you know what happens in this case? Will Ghost still operate, just not send email?

SyntaxRules commented 8 years ago

I picked Gmail over Mailgun because I already had a gmail setup for this purpose. It also turns out that gmails sending limits are a little higher (per month). Although Gmail won't scale as more e-mails need to be sent.

Honestly, I wasn't to worried about the case when mail becomes null, because mailgun is setup when you initially run everything regardless. That being said I could just change it to a else instead of an else if so there isn't unknown behavior. I'll have to check what happens when it's all null.

See also, Mailgun pricing

holic commented 8 years ago

Firstly, thank you for the contribution! I really appreciate you bringing new ideas to the table :)

However, I'm a little iffy on this. Mostly because this would require adding your raw Gmail/Google credentials into Heroku, a practice we probably shouldn't be encouraging. Mailgun is zero effort to set up as part of this app's install process, has a generous free tier, and is easy to pay for scale once you need more volume - Gmail on the other hand would require migrating, etc. and (as far as I know) is not meant to be used for transactional email.

@cobyism What are your thoughts on this?

cobyism commented 8 years ago

First off, thanks for opening the PR, @SyntaxRules ❤️!

@cobyism What are your thoughts on this?

I’d like to keep this repo focused on just the basics needed to quickly deploy Ghost with minimal fuss.

As this PR shows, it’s very straightforward to customise your specific instance of Ghost on Heroku to use a different set of configuration, and I’d like to encourage people to do exactly that. I’d like to avoid this repo becoming a collection of various customisations in a central place—not because they’re not useful, but because each one is a new potential way for a deployment to break (or be confusing, especially if undocumented etc.) for a person using this for the first time.

For that reason, I’d rather not add an option for sending via Gmail to this project, so I’m going to go ahead and close this PR. @SyntaxRules I hope you understand!


... I also added .idea to .gitignore (For WebStorm IDE)

Side note: Unless relating to a tool shared by everyone on a given project/repo, ignoring files relating to user-specific setups (e.g. editor/IDE choice) is probably best left for a global .gitignore file instead.