souramoo / commentoplusplus

Commento with out of the box patches and updates to add useful features and fixes. Also with one-click deploy to Heroku so you can get up and running fast.
MIT License
391 stars 63 forks source link

SMTP notification is never delivered #88

Closed Wonderfall closed 2 years ago

Wonderfall commented 2 years ago

Hi! I'm in the process of migrating from the original Commento project since it's abandoned. Thanks for working on this fork, that is very much needed. I'm running the current code as well (and I hope a better releasing model will be considered in the future).

The migration itself went well, except I didn't receive any SMTP notification when a new comment was posted. Logs showed nothing, it's as if the mail was sent without errors, but was never delivered. Also, the same configuration worked with original Commento.

After looking at the code changes, it seems this particular commit was the cause of this issue: https://github.com/souramoo/commentoplusplus/commit/103a511d55cd3744cdff3df46b08be5e0c3db77c Reverting this commit alone made SMTP notifications working again. It is also worth noting that prior to this, I tried changing SMTP_SKIP_HOST_VERIFY (through the environment variable) but it didn't seem to have any effect.

I'm not well-versed in the Go ecosystem, so I figured I would open this issue to track the bug. I might even work on that when I have more free time (for now I just wanted an urgent solution to have a more up-to-date software). Reverting the commit works but that's of course not a long-term solution.

souramoo commented 2 years ago

Thanks for the comment and investigation! I merged this commit to have a bit more control over how the emails get sent to try and investigate other bugs (e.g. with outlook365) - I will investigate and get back to you!

I am working on merging the pull request with the github actions integrated so we can get up to speed on automated unit tests etc and the official release schedule will be more regular soon after :)

souramoo commented 2 years ago

I have added a process for making new releases that now involves just hitting a button on github and everything will get compiled on the cloud and have the tests run. Going forward the release schedule should now be much more frequent :) Will get back to you soon on the SMTP issue.

janga1 commented 2 years ago

Not sure if this goes here, but I'm also trying to get email working. In my case I'm trying to use a Hotmail account with the following variables in my docker-compose.yml:

COMMENTO_SMTP_HOST: smtp-mail.outlook.com
COMMENTO_SMTP_PORT: 587
COMMENTO_SMTP_USERNAME: mymail@hotmail.com
COMMENTO_SMTP_PASSWORD: mypassword
COMMENTO_SMTP_FROM_ADDRESS: mymail@hotmail.com

However, when I have the containers running and try to create an account at https://commentopp.example.com/signup I get notified that conformation mail was not send. The following message shows up in the terminal:

commento_1  | 2022/04/27 08:41:21 [ERROR] smtp_owner_confirm_hex.go:19 smtpOwnerConfirmHex(): cannot send confirmation email: 504 5.7.4 Unrecognized authentication type [AM4PR05CA0010.eurprd05.prod.outlook.com]

My goal is to receive an email when someone makes a pending post. Is there anything I can do, if so, what?

Gracias

EDIT: This post on StackOverflow seems to suggest the issue has to do with STARTTLS not being used.

ghost commented 2 years ago

I'm having the same issue but trying to use SendGrid. Any update on this?

souramoo commented 2 years ago

Please try the latest unstable release after having merged the pull request above to see if this is still an issue!

Wonderfall commented 2 years ago

Thanks to #105 I'm glad to say it works wonderfully. I also made #106 to set back the mail format to text/html. Feel free to close the issue once you reviewed the change.