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!
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).
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…
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”?
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.
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.