Problem configuring email notifications

Dear SeaTable Team, I am having trouble configuring email notifications. I’m using Seatable EE via docker on my home server.

In Seatable:

  • in settings / 3rd party account integration, I can configure my email (using port 587) and I can send a test email; but if I use port 465, I can’t send the email.

  • I then edited “dtable_web_settings.py” adding the following:

EMAIL_USE_TLS = False
EMAIL_HOST = ‘myserver’ # smpt server (same used in 3rd party integration)
EMAIL_HOST_USER = ‘myemail’ # username and domain (same used in 3rd party integration)
EMAIL_HOST_PASSWORD = ‘mypassword’ # password (same used in 3rd party integration)
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

  • restarted Seatable via command line and configured a notification on a table (i.e. send an email to my user when a row is added).

However, I can’t seem to receive that notification. Nothing reaches my email. I would like to send these emails and notifications via SSL / port 465. What am I doing wrong? Thank you!

The configuration seems right.

Maybe there is no technical problem, but simply a misunderstanding: In SeaTable, a notification and an email are two different things. A notification is an internal message that you can only view within SeaTable. Remember the bell icon next to your avatar, that is where you get your notifications.

Thank you for your reply. Maybe that is it: i was trying to receive an email notification when a row’s date reaches a specific date, but that is a notification - hence no email, if I understood correctly.

(but still have to check why I can’t use port 465, since 587 is not secure I guess).

Port 587 is regularly used for STARTTLS. STARTTLS starts out as an unencrypted connection, but the password and other traffic is encrypted

Thanks for clarification. Now I understood the difference between notifications and emails - just wished the notifications could be sent by email as well. Maybe with some bit of code…

They can!! Just don’t have SeaTable send notifications, but emails.

This is how you do it:

  • Register your email accout as a third-party account in the base in question [DONE in your case]
  • Create an automation - SeaTable Server EE supports automations
  • Set the trigger condition as per your requirements
  • Define “Send email” as the action
  • Done

Thanks, I’ve overlooked that!
Still, I think what I need is not possible: I’d like to watch a column every day at 00:00 and if the date (deadline) is on the next day, I’d like to receive an email. But the only action available seems to be “lock record”. Maybe the “send email” action is not compatible with the “run periodically on records meet conditions”?

Thanks for the patience!

No worries!

It is possible. You discovered an issue in the automation wizard.

Choose as Event “Records meet specific conditions after modification”. Add the action “Send email”. Then change the Event to “Run periodically on records meet conditions”. That should do the trick.

Let us know!

Glad to help! Must be an interface bug.
Still haven’t managed to get this automated email sent (created an automation rule to run at 23:00, a simple “run periodically” with no conditions, using the only configured third party email account, but the email wasn’t sent).
Then I’ve hit the “run now” to see if it worked but still didn’t. But I can send direct emails from the “Third party account settings” “send” operation. Will try again tomorrow.

On the “email sending logs”, on the system admin interface, I also only see the emails that I’ve manually triggered via “send” operation in “Third party account settings”.

If there is more information I can provide please tell me. Thanks!

EDIT: inspected my logs and found on “dtable-events.log” the following entry, added at the same time that an “on record added” event occoured which should have triggered an email:

[2022-08-09 22:17:20,808] actions.py[line:1193] [ERROR] rule: 1, do actions error: HTTPSConnectionPool(host=‘MY-HOST-HIDDEN-FOR-PRIVACY’, port=443): Max retries exceeded with url: /dtable-server/api/v1/dtables/16323e3072ea490fb3cc5578d091af52/columns/?table_id=0000&view_id=0000 (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1076)’)))

Since I’m running this on my home personal server I’m using a self-signed certificate from Let’s Encrypt. Maybe this is the problem.

Sending email with trigger “run periodically on records meet conditions” is not available yet for some performance reason.

But it will be available in version 3.2. Only the first 50 rows that meet the condition will trigger emails, but this should be enough for most use cases.

At this moment, you can use notification rule to achieve the same thing. A notification that not read within 1 hour will trigger an email notice.

Port 587 is for TLS, port 465 is for SSL. SSL is a deprecated feature in the Django Python framework (which SeaTable is used). 587 is the recommended one. So, only port 587 is supported now.

Port 465 with SSL can’t work in SeaTable.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.