[GH-ISSUE #1167] Account Deletion AND smtp without authentication (port 25/tcp) #336

Open
opened 2026-02-26 18:46:33 +03:00 by kerem · 7 comments
Owner

Originally created by @crazyyzarc on GitHub (May 21, 2024).
Original GitHub issue: https://github.com/documenso/documenso/issues/1167

Issue Description

Hello everyone,

I have registered several users and have not yet received any emails because it always went wrong.
image

How do I delete the old users? My internal mail server can only be reached via port 25 without authentication.

How do I make it possible to send mail without smtp-auth or others?
I have secured the web server via an NGINX reverse proxy.

Steps to Reproduce

When completing the registration process, the following message appears.
And when I log in again with the same e-mail, I get this. So I can't try it again with my e-mail

Expected Behavior

Mail confirmation can also be done internally via insecure non-authentication (port 25).

Current Behavior

The DB table should not exist according to the error message, so I can't delete users from my Documenso instance

documenso=> select * from Account;
ERROR: Relation "account" does not exist
LINE 1: select * from Account;

image

The table Account in documenso-db exists
image

Many thanks in advance! Maybe I'm just missing something

Screenshots (optional)

No response

Operating System [e.g., Windows 10]

Windows 10

Browser [e.g., Chrome, Firefox]

Firefox

Version [e.g., 2.0.1]

126

Please check the boxes that apply to this issue report.

  • I have searched the existing issues to make sure this is not a duplicate.
  • I have provided steps to reproduce the issue.
  • I have included relevant environment information.
  • I have included any relevant screenshots.
  • I understand that this is a voluntary contribution and that there is no guarantee of resolution.
  • I want to work on creating a PR for this issue if approved
Originally created by @crazyyzarc on GitHub (May 21, 2024). Original GitHub issue: https://github.com/documenso/documenso/issues/1167 ### Issue Description Hello everyone, I have registered several users and have not yet received any emails because it always went wrong. ![image](https://github.com/documenso/documenso/assets/4954535/ac2d8eda-54a3-4ee4-9319-b64ab2027560) How do I delete the old users? My internal mail server can only be reached via port 25 without authentication. How do I make it possible to send mail without smtp-auth or others? I have secured the web server via an NGINX reverse proxy. ### Steps to Reproduce When completing the registration process, the following message appears. And when I log in again with the same e-mail, I get this. So I can't try it again with my e-mail ### Expected Behavior Mail confirmation can also be done internally via insecure non-authentication (port 25). ### Current Behavior The DB table should not exist according to the error message, so I can't delete users from my Documenso instance ``` documenso=> select * from Account; ERROR: Relation "account" does not exist LINE 1: select * from Account; ``` ![image](https://github.com/documenso/documenso/assets/4954535/f38da547-dbbb-4006-9ddd-293890b3ba87) The table Account in documenso-db exists ![image](https://github.com/documenso/documenso/assets/4954535/4b7c386e-e870-4610-ac39-630e544db6c2) Many thanks in advance! Maybe I'm just missing something ### Screenshots (optional) _No response_ ### Operating System [e.g., Windows 10] Windows 10 ### Browser [e.g., Chrome, Firefox] Firefox ### Version [e.g., 2.0.1] 126 ### Please check the boxes that apply to this issue report. - [X] I have searched the existing issues to make sure this is not a duplicate. - [X] I have provided steps to reproduce the issue. - [X] I have included relevant environment information. - [X] I have included any relevant screenshots. - [X] I understand that this is a voluntary contribution and that there is no guarantee of resolution. - [ ] I want to work on creating a PR for this issue if approved
Author
Owner

@github-actions[bot] commented on GitHub (May 21, 2024):

Thank you for opening your first issue and for being a part of the open signing revolution!

One of our team members will review it and get back to you as soon as it possible 💚

Meanwhile, please feel free to hop into our community in Discord

<!-- gh-comment-id:2122236634 --> @github-actions[bot] commented on GitHub (May 21, 2024): Thank you for opening your first issue and for being a part of the open signing revolution! <br /> One of our team members will review it and get back to you as soon as it possible 💚 <br /> Meanwhile, please feel free to hop into our community in [Discord](https://documen.so/discord)
Author
Owner

@ephraimduncan commented on GitHub (May 21, 2024):

Do this instead select * from "Account"

<!-- gh-comment-id:2123588454 --> @ephraimduncan commented on GitHub (May 21, 2024): Do this instead `select * from "Account"`
Author
Owner

@Rainson12 commented on GitHub (Jul 11, 2024):

this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented.

<!-- gh-comment-id:2222575376 --> @Rainson12 commented on GitHub (Jul 11, 2024): this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented.
Author
Owner

@crazyyzarc commented on GitHub (Jul 26, 2024):

this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented.

I was able to send myself an e-mail via Curl without SMTP Auth. However, it did not send me an e-mail via the registration process. The Exchange had not received any from the system either.
How do I guarantee that a confirmation e-mail will be sent to me via SMTP port 25 without auth?

Documenso Server Log
@documenso/web:start: {
@documenso/web:start: jobDefinitions: {
@documenso/web:start: 'send.signing.requested.email': {
@documenso/web:start: id: 'send.signing.requested.email',
@documenso/web:start: name: 'Send Signing Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.signup.confirmation.email': {
@documenso/web:start: id: 'send.signup.confirmation.email',
@documenso/web:start: name: 'Send Confirmation Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.team-member-joined.email': {
@documenso/web:start: id: 'send.team-member-joined.email',
@documenso/web:start: name: 'Send Team Member Joined Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.team-member-left.email': {
@documenso/web:start: id: 'send.team-member-left.email',
@documenso/web:start: name: 'Send Team Member Left Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: }, @documenso/web:start: 'send.team-deleted.email': {
@documenso/web:start: id: 'send.team-deleted.email',
@documenso/web:start: name: 'Send Team Deleted Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: {
@documenso/web:start: options: {
@documenso/web:start: name: 'send.signup.confirmation.email',
@documenso/web:start: payload: { email: 'me@example.org' }
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: Eligible jobs: [ 'Send Confirmation Email' ]
@documenso/web:start: Submitting job to endpoint: https://sign.example.org/api/jobs/send.signup.confirmation.email/blub

.env SMTP
# SMTP
# OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels
NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth"
# OPTIONAL: Defines the host to use for sending emails.
NEXT_PRIVATE_SMTP_HOST="192.168.178.8"
# OPTIONAL: Defines the port to use for sending emails.
NEXT_PRIVATE_SMTP_PORT=25
# OPTIONAL: Defines the username to use with the SMTP server.
NEXT_PRIVATE_SMTP_USERNAME=
# OPTIONAL: Defines the password to use with the SMTP server.
NEXT_PRIVATE_SMTP_PASSWORD=
# OPTIONAL: Defines the API key user to use with the SMTP server.
NEXT_PRIVATE_SMTP_APIKEY_USER=
# OPTIONAL: Defines the API key to use with the SMTP server.
NEXT_PRIVATE_SMTP_APIKEY=
# OPTIONAL: Defines whether to force the use of TLS.
NEXT_PRIVATE_SMTP_SECURE=
# OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension
NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false
# REQUIRED: Defines the sender name to use for the from address.
NEXT_PRIVATE_SMTP_FROM_NAME="Documenso"
# REQUIRED: Defines the email address to use as the from address.
NEXT_PRIVATE_SMTP_FROM_ADDRESS="me@example.org"
# OPTIONAL: The API key to use for Resend.com
NEXT_PRIVATE_RESEND_API_KEY=
# OPTIONAL: The API key to use for MailChannels.
NEXT_PRIVATE_MAILCHANNELS_API_KEY=
# OPTIONAL: The endpoint to use for the MailChannels API if using a proxy.
NEXT_PRIVATE_MAILCHANNELS_ENDPOINT=
# OPTIONAL: The domain to use for DKIM signing.
NEXT_PRIVATE_MAILCHANNELS_DKIM_DOMAIN=
# OPTIONAL: The selector to use for DKIM signing.
NEXT_PRIVATE_MAILCHANNELS_DKIM_SELECTOR=
# OPTIONAL: The private key to use for DKIM signing.
NEXT_PRIVATE_MAILCHANNELS_DKIM_PRIVATE_KEY=
# OPTIONAL: Displays the maximum document upload limit to the user in MBs
NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=5
<!-- gh-comment-id:2252549727 --> @crazyyzarc commented on GitHub (Jul 26, 2024): > this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented. I was able to send myself an e-mail via Curl without SMTP Auth. However, it did not send me an e-mail via the registration process. The Exchange had not received any from the system either. How do I guarantee that a confirmation e-mail will be sent to me via SMTP port 25 without auth? <details open> <summary>Documenso Server Log</summary> <br>@documenso/web:start: {<br> @documenso/web:start: jobDefinitions: {<br> @documenso/web:start: 'send.signing.requested.email': {<br> @documenso/web:start: id: 'send.signing.requested.email',<br> @documenso/web:start: name: 'Send Signing Email',<br> @documenso/web:start: version: '1.0.0',<br> @documenso/web:start: trigger: [Object],<br> @documenso/web:start: handler: [AsyncFunction: handler],<br> @documenso/web:start: enabled: true<br> @documenso/web:start: },<br> @documenso/web:start: 'send.signup.confirmation.email': {<br> @documenso/web:start: id: 'send.signup.confirmation.email',<br> @documenso/web:start: name: 'Send Confirmation Email',<br> @documenso/web:start: version: '1.0.0',<br> @documenso/web:start: trigger: [Object],<br> @documenso/web:start: handler: [AsyncFunction: handler],<br> @documenso/web:start: enabled: true<br> @documenso/web:start: },<br> @documenso/web:start: 'send.team-member-joined.email': {<br> @documenso/web:start: id: 'send.team-member-joined.email',<br> @documenso/web:start: name: 'Send Team Member Joined Email',<br> @documenso/web:start: version: '1.0.0',<br> @documenso/web:start: trigger: [Object],<br> @documenso/web:start: handler: [AsyncFunction: handler],<br> @documenso/web:start: enabled: true<br> @documenso/web:start: },<br> @documenso/web:start: 'send.team-member-left.email': {<br> @documenso/web:start: id: 'send.team-member-left.email',<br> @documenso/web:start: name: 'Send Team Member Left Email',<br> @documenso/web:start: version: '1.0.0',<br> @documenso/web:start: trigger: [Object],<br> @documenso/web:start: handler: [AsyncFunction: handler],<br> @documenso/web:start: enabled: true<br> @documenso/web:start: }, @documenso/web:start: 'send.team-deleted.email': {<br> @documenso/web:start: id: 'send.team-deleted.email',<br> @documenso/web:start: name: 'Send Team Deleted Email',<br> @documenso/web:start: version: '1.0.0',<br> @documenso/web:start: trigger: [Object],<br> @documenso/web:start: handler: [AsyncFunction: handler],<br> @documenso/web:start: enabled: true<br> @documenso/web:start: }<br> @documenso/web:start: }<br> @documenso/web:start: }<br> @documenso/web:start: {<br> @documenso/web:start: options: {<br> @documenso/web:start: name: 'send.signup.confirmation.email',<br> @documenso/web:start: payload: { email: 'me@example.org' }<br> @documenso/web:start: }<br> @documenso/web:start: }<br> <b>@documenso/web:start: Eligible jobs: [ 'Send Confirmation Email' ]<br> @documenso/web:start: Submitting job to endpoint: https://sign.example.org/api/jobs/send.signup.confirmation.email/blub</b><br> </details> <details open> <summary>.env SMTP</summary> <br># [[SMTP]]<br> # OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels<br> <b>NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth"</b><br> # OPTIONAL: Defines the host to use for sending emails.<br> <b>NEXT_PRIVATE_SMTP_HOST="192.168.178.8"</b><br> # OPTIONAL: Defines the port to use for sending emails.<br> <b>NEXT_PRIVATE_SMTP_PORT=25</b><br> # OPTIONAL: Defines the username to use with the SMTP server.<br> <b>NEXT_PRIVATE_SMTP_USERNAME=</b><br> # OPTIONAL: Defines the password to use with the SMTP server.<br> NEXT_PRIVATE_SMTP_PASSWORD=<br> # OPTIONAL: Defines the API key user to use with the SMTP server.<br> NEXT_PRIVATE_SMTP_APIKEY_USER=<br> # OPTIONAL: Defines the API key to use with the SMTP server.<br> NEXT_PRIVATE_SMTP_APIKEY=<br> # OPTIONAL: Defines whether to force the use of TLS.<br> NEXT_PRIVATE_SMTP_SECURE=<br> # OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension<br> <b>NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false</b><br> # REQUIRED: Defines the sender name to use for the from address.<br> NEXT_PRIVATE_SMTP_FROM_NAME="Documenso"<br> # REQUIRED: Defines the email address to use as the from address.<br> NEXT_PRIVATE_SMTP_FROM_ADDRESS="me@example.org"<br> # OPTIONAL: The API key to use for Resend.com<br> NEXT_PRIVATE_RESEND_API_KEY=<br> # OPTIONAL: The API key to use for MailChannels.<br> NEXT_PRIVATE_MAILCHANNELS_API_KEY=<br> # OPTIONAL: The endpoint to use for the MailChannels API if using a proxy.<br> NEXT_PRIVATE_MAILCHANNELS_ENDPOINT=<br> # OPTIONAL: The domain to use for DKIM signing.<br> NEXT_PRIVATE_MAILCHANNELS_DKIM_DOMAIN=<br> # OPTIONAL: The selector to use for DKIM signing.<br> NEXT_PRIVATE_MAILCHANNELS_DKIM_SELECTOR=<br> # OPTIONAL: The private key to use for DKIM signing.<br> NEXT_PRIVATE_MAILCHANNELS_DKIM_PRIVATE_KEY=<br> # OPTIONAL: Displays the maximum document upload limit to the user in MBs<br> NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=5<br> </details>
Author
Owner

@Dvalin21 commented on GitHub (Oct 11, 2024):

this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented.

I was able to send myself an e-mail via Curl without SMTP Auth. However, it did not send me an e-mail via the registration process. The Exchange had not received any from the system either. How do I guarantee that a confirmation e-mail will be sent to me via SMTP port 25 without auth?

Documenso Server Log

@documenso/web:start: {
@documenso/web:start: jobDefinitions: {
@documenso/web:start: 'send.signing.requested.email': {
@documenso/web:start: id: 'send.signing.requested.email',
@documenso/web:start: name: 'Send Signing Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.signup.confirmation.email': {
@documenso/web:start: id: 'send.signup.confirmation.email',
@documenso/web:start: name: 'Send Confirmation Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.team-member-joined.email': {
@documenso/web:start: id: 'send.team-member-joined.email',
@documenso/web:start: name: 'Send Team Member Joined Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: },
@documenso/web:start: 'send.team-member-left.email': {
@documenso/web:start: id: 'send.team-member-left.email',
@documenso/web:start: name: 'Send Team Member Left Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: }, @documenso/web:start: 'send.team-deleted.email': {
@documenso/web:start: id: 'send.team-deleted.email',
@documenso/web:start: name: 'Send Team Deleted Email',
@documenso/web:start: version: '1.0.0',
@documenso/web:start: trigger: [Object],
@documenso/web:start: handler: [AsyncFunction: handler],
@documenso/web:start: enabled: true
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: {
@documenso/web:start: options: {
@documenso/web:start: name: 'send.signup.confirmation.email',
@documenso/web:start: payload: { email: 'me@example.org' }
@documenso/web:start: }
@documenso/web:start: }
@documenso/web:start: Eligible jobs: [ 'Send Confirmation Email' ]
@documenso/web:start: Submitting job to endpoint: https://sign.example.org/api/jobs/send.signup.confirmation.email/blub
.env SMTP

SMTP

OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels

NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth"

OPTIONAL: Defines the host to use for sending emails.

NEXT_PRIVATE_SMTP_HOST="192.168.178.8"

OPTIONAL: Defines the port to use for sending emails.

NEXT_PRIVATE_SMTP_PORT=25

OPTIONAL: Defines the username to use with the SMTP server.

NEXT_PRIVATE_SMTP_USERNAME=

OPTIONAL: Defines the password to use with the SMTP server.

NEXT_PRIVATE_SMTP_PASSWORD=

OPTIONAL: Defines the API key user to use with the SMTP server.

NEXT_PRIVATE_SMTP_APIKEY_USER=

OPTIONAL: Defines the API key to use with the SMTP server.

NEXT_PRIVATE_SMTP_APIKEY=

OPTIONAL: Defines whether to force the use of TLS.

NEXT_PRIVATE_SMTP_SECURE=

OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension

NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false

REQUIRED: Defines the sender name to use for the from address.

NEXT_PRIVATE_SMTP_FROM_NAME="Documenso"

REQUIRED: Defines the email address to use as the from address.

NEXT_PRIVATE_SMTP_FROM_ADDRESS="me@example.org"

OPTIONAL: The API key to use for Resend.com

NEXT_PRIVATE_RESEND_API_KEY=

OPTIONAL: The API key to use for MailChannels.

NEXT_PRIVATE_MAILCHANNELS_API_KEY=

OPTIONAL: The endpoint to use for the MailChannels API if using a proxy.

NEXT_PRIVATE_MAILCHANNELS_ENDPOINT=

OPTIONAL: The domain to use for DKIM signing.

NEXT_PRIVATE_MAILCHANNELS_DKIM_DOMAIN=

OPTIONAL: The selector to use for DKIM signing.

NEXT_PRIVATE_MAILCHANNELS_DKIM_SELECTOR=

OPTIONAL: The private key to use for DKIM signing.

NEXT_PRIVATE_MAILCHANNELS_DKIM_PRIVATE_KEY=

OPTIONAL: Displays the maximum document upload limit to the user in MBs

NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=5

This is apparently an on going issue. Same thing here https://github.com/documenso/documenso/issues/1307

<!-- gh-comment-id:2406642934 --> @Dvalin21 commented on GitHub (Oct 11, 2024): > > this issue can be closed now @dguyen @Mythie as the anonymous smtp auth is now implemented. > > I was able to send myself an e-mail via Curl without SMTP Auth. However, it did not send me an e-mail via the registration process. The Exchange had not received any from the system either. How do I guarantee that a confirmation e-mail will be sent to me via SMTP port 25 without auth? > > Documenso Server Log > > @documenso/web:start: { > @documenso/web:start: jobDefinitions: { > @documenso/web:start: 'send.signing.requested.email': { > @documenso/web:start: id: 'send.signing.requested.email', > @documenso/web:start: name: 'Send Signing Email', > @documenso/web:start: version: '1.0.0', > @documenso/web:start: trigger: [Object], > @documenso/web:start: handler: [AsyncFunction: handler], > @documenso/web:start: enabled: true > @documenso/web:start: }, > @documenso/web:start: 'send.signup.confirmation.email': { > @documenso/web:start: id: 'send.signup.confirmation.email', > @documenso/web:start: name: 'Send Confirmation Email', > @documenso/web:start: version: '1.0.0', > @documenso/web:start: trigger: [Object], > @documenso/web:start: handler: [AsyncFunction: handler], > @documenso/web:start: enabled: true > @documenso/web:start: }, > @documenso/web:start: 'send.team-member-joined.email': { > @documenso/web:start: id: 'send.team-member-joined.email', > @documenso/web:start: name: 'Send Team Member Joined Email', > @documenso/web:start: version: '1.0.0', > @documenso/web:start: trigger: [Object], > @documenso/web:start: handler: [AsyncFunction: handler], > @documenso/web:start: enabled: true > @documenso/web:start: }, > @documenso/web:start: 'send.team-member-left.email': { > @documenso/web:start: id: 'send.team-member-left.email', > @documenso/web:start: name: 'Send Team Member Left Email', > @documenso/web:start: version: '1.0.0', > @documenso/web:start: trigger: [Object], > @documenso/web:start: handler: [AsyncFunction: handler], > @documenso/web:start: enabled: true > @documenso/web:start: }, @documenso/web:start: 'send.team-deleted.email': { > @documenso/web:start: id: 'send.team-deleted.email', > @documenso/web:start: name: 'Send Team Deleted Email', > @documenso/web:start: version: '1.0.0', > @documenso/web:start: trigger: [Object], > @documenso/web:start: handler: [AsyncFunction: handler], > @documenso/web:start: enabled: true > @documenso/web:start: } > @documenso/web:start: } > @documenso/web:start: } > @documenso/web:start: { > @documenso/web:start: options: { > @documenso/web:start: name: 'send.signup.confirmation.email', > @documenso/web:start: payload: { email: 'me@example.org' } > @documenso/web:start: } > @documenso/web:start: } > @documenso/web:start: Eligible jobs: [ 'Send Confirmation Email' ] > @documenso/web:start: Submitting job to endpoint: https://sign.example.org/api/jobs/send.signup.confirmation.email/blub > .env SMTP > > # [[SMTP]] > # OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) | smtp-api | mailchannels > NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth" > # OPTIONAL: Defines the host to use for sending emails. > NEXT_PRIVATE_SMTP_HOST="192.168.178.8" > # OPTIONAL: Defines the port to use for sending emails. > NEXT_PRIVATE_SMTP_PORT=25 > # OPTIONAL: Defines the username to use with the SMTP server. > NEXT_PRIVATE_SMTP_USERNAME= > # OPTIONAL: Defines the password to use with the SMTP server. > NEXT_PRIVATE_SMTP_PASSWORD= > # OPTIONAL: Defines the API key user to use with the SMTP server. > NEXT_PRIVATE_SMTP_APIKEY_USER= > # OPTIONAL: Defines the API key to use with the SMTP server. > NEXT_PRIVATE_SMTP_APIKEY= > # OPTIONAL: Defines whether to force the use of TLS. > NEXT_PRIVATE_SMTP_SECURE= > # OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension > NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false > # REQUIRED: Defines the sender name to use for the from address. > NEXT_PRIVATE_SMTP_FROM_NAME="Documenso" > # REQUIRED: Defines the email address to use as the from address. > NEXT_PRIVATE_SMTP_FROM_ADDRESS="me@example.org" > # OPTIONAL: The API key to use for Resend.com > NEXT_PRIVATE_RESEND_API_KEY= > # OPTIONAL: The API key to use for MailChannels. > NEXT_PRIVATE_MAILCHANNELS_API_KEY= > # OPTIONAL: The endpoint to use for the MailChannels API if using a proxy. > NEXT_PRIVATE_MAILCHANNELS_ENDPOINT= > # OPTIONAL: The domain to use for DKIM signing. > NEXT_PRIVATE_MAILCHANNELS_DKIM_DOMAIN= > # OPTIONAL: The selector to use for DKIM signing. > NEXT_PRIVATE_MAILCHANNELS_DKIM_SELECTOR= > # OPTIONAL: The private key to use for DKIM signing. > NEXT_PRIVATE_MAILCHANNELS_DKIM_PRIVATE_KEY= > # OPTIONAL: Displays the maximum document upload limit to the user in MBs > NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=5 This is apparently an on going issue. Same thing here https://github.com/documenso/documenso/issues/1307
Author
Owner

@crazyyzarc commented on GitHub (Oct 17, 2024):

@dguyen @Mythie how do I debug the mail sending operations? I get no incoming mail to my MS Exchange

2024-10-17_12-53-31_FZcyUlk4O3

My .env config

# [[SMTP]]
NEXT_PRIVATE_SMTP_TRANSPORT=smtp-auth
NEXT_PRIVATE_SMTP_HOST="mail.my.internal"
NEXT_PRIVATE_SMTP_PORT=25
NEXT_PRIVATE_SMTP_USERNAME="smtp_user"
NEXT_PRIVATE_SMTP_PASSWORD="password"
NEXT_PRIVATE_SMTP_APIKEY_USER=
NEXT_PRIVATE_SMTP_APIKEY=
NEXT_PRIVATE_SMTP_SECURE=false
NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false
NEXT_PRIVATE_SMTP_FROM_NAME="Documenso"
NEXT_PRIVATE_SMTP_FROM_ADDRESS="notification@my.internal"
<!-- gh-comment-id:2419213472 --> @crazyyzarc commented on GitHub (Oct 17, 2024): @dguyen @Mythie how do I debug the mail sending operations? I get no incoming mail to my MS Exchange ![2024-10-17_12-53-31_FZcyUlk4O3](https://github.com/user-attachments/assets/b63c8444-27b8-4315-a6a4-f376faa7381d) My .env config ``` # [[SMTP]] NEXT_PRIVATE_SMTP_TRANSPORT=smtp-auth NEXT_PRIVATE_SMTP_HOST="mail.my.internal" NEXT_PRIVATE_SMTP_PORT=25 NEXT_PRIVATE_SMTP_USERNAME="smtp_user" NEXT_PRIVATE_SMTP_PASSWORD="password" NEXT_PRIVATE_SMTP_APIKEY_USER= NEXT_PRIVATE_SMTP_APIKEY= NEXT_PRIVATE_SMTP_SECURE=false NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS=false NEXT_PRIVATE_SMTP_FROM_NAME="Documenso" NEXT_PRIVATE_SMTP_FROM_ADDRESS="notification@my.internal" ```
Author
Owner

@Dvalin21 commented on GitHub (Oct 18, 2024):

I finally got documenso to send with gmail. Here is my .env

# [[AUTH]]
NEXTAUTH_URL="app url"
NEXTAUTH_SECRET="secret"

# [[DATABASE]]
POSTGRES_USER="documenso"
POSTGRES_PASSWORD="password"
POSTGRES_DB="documenso"
NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@documenso-db:5432/documenso"
NEXT_PRIVATE_DIRECT_DATABASE_URL="postgres://documenso:password@documenso-db:5432/documenso"

# [[CRYPTO]]
# Application Key for symmetric encryption and decryption
# REQUIRED: This should be a random string of at least 32 characters
NEXT_PRIVATE_ENCRYPTION_KEY="keys"

# REQUIRED: This should be a random string of at least 32 characters
NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY="keys"

# This can be used to still allow signups for OIDC connections
# when signup is disabled via `NEXT_PUBLIC_DISABLE_SIGNUP`
#NEXT_PRIVATE_OIDC_ALLOW_SIGNUP=""
#NEXT_PRIVATE_OIDC_SKIP_VERIFY=""

# [[URLS]]
NEXT_PUBLIC_WEBAPP_URL="app url"
NEXT_PRIVATE_INTERNAL_WEBAPP_URL="app url"
NEXT_PUBLIC_MARKETING_URL="app url"
NEXT_PUBLIC_UPLOAD_TRANSPORT="database"


# [[SIGNING]]
# The transport to use for document signing. Available options: local (default) | gcloud-hsm
NEXT_PRIVATE_SIGNING_TRANSPORT="local"

# OPTIONAL: The passphrase to use for the local file-based signing transport.
NEXT_PRIVATE_SIGNING_PASSPHRASE='passphrase'

# OPTIONAL: The local file path to the .p12 file to use for the local signing transport.
NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH="/opt/documenso/certificate.p12"

# OPTIONAL: The base64-encoded contents of the .p12 file to use for the local signing transport.
#NEXT_PRIVATE_SIGNING_LOCAL_FILE_CONTENTS=/opt/documenso/


# [[SMTP]]
# OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default)
NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth"
NEXT_PRIVATE_SMTP_HOST="smtp.gmail.com"
NEXT_PRIVATE_SMTP_PORT="587"
NEXT_PRIVATE_SMTP_USERNAME="email"
NEXT_PRIVATE_SMTP_PASSWORD='app pass'
NEXT_PRIVATE_SMTP_SECURE="false"
# OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension
NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS="false"
# REQUIRED: Defines the sender name to use for the from address.
NEXT_PRIVATE_SMTP_FROM_NAME="Sign"
NEXT_PRIVATE_SMTP_FROM_ADDRESS="noreply@documenso.com"
# OPTIONAL: Displays the maximum document upload limit to the user in MBs
NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=50
NEXT_PRIVATE_JOBS_PROVIDER="local"

# [[FEATURES]]
# OPTIONAL: Leave blank to disable billing.
NEXT_PUBLIC_FEATURE_BILLING_ENABLED=
# OPTIONAL: Leave blank to allow users to signup through /signup page.
NEXT_PUBLIC_DISABLE_SIGNUP=

compose

services:
  database:
    container_name: documenso-db
    restart: unless-stopped
    hostname: documenso-db
    env_file: .env
    image: postgres:15
    #    ports:
    #      - "54320"
    #      - "5432"
    expose:
      - "54320"
      - "5432"
    healthcheck:
      test:
        - CMD-SHELL
        - pg_isready -U documenso
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /home/incus/documenso/db:/var/lib/postgresql/data
  documenso:
    container_name: documenso-app
    hostname: documenso-app
    restart: unless-stopped
    env_file: .env
    image: documenso/documenso:latest
    depends_on:
      database:
        condition: service_healthy
    ports:
      - 3089:3000
      - 3001:3001
    volumes:
      - /home/incus/documenso/certificate.p12:/opt/documenso/certificate.p12
networks:
  documenso:
    name: documenso
    driver: bridge
<!-- gh-comment-id:2422944602 --> @Dvalin21 commented on GitHub (Oct 18, 2024): I finally got documenso to send with gmail. Here is my .env ``` # [[AUTH]] NEXTAUTH_URL="app url" NEXTAUTH_SECRET="secret" # [[DATABASE]] POSTGRES_USER="documenso" POSTGRES_PASSWORD="password" POSTGRES_DB="documenso" NEXT_PRIVATE_DATABASE_URL="postgres://documenso:password@documenso-db:5432/documenso" NEXT_PRIVATE_DIRECT_DATABASE_URL="postgres://documenso:password@documenso-db:5432/documenso" # [[CRYPTO]] # Application Key for symmetric encryption and decryption # REQUIRED: This should be a random string of at least 32 characters NEXT_PRIVATE_ENCRYPTION_KEY="keys" # REQUIRED: This should be a random string of at least 32 characters NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY="keys" # This can be used to still allow signups for OIDC connections # when signup is disabled via `NEXT_PUBLIC_DISABLE_SIGNUP` #NEXT_PRIVATE_OIDC_ALLOW_SIGNUP="" #NEXT_PRIVATE_OIDC_SKIP_VERIFY="" # [[URLS]] NEXT_PUBLIC_WEBAPP_URL="app url" NEXT_PRIVATE_INTERNAL_WEBAPP_URL="app url" NEXT_PUBLIC_MARKETING_URL="app url" NEXT_PUBLIC_UPLOAD_TRANSPORT="database" # [[SIGNING]] # The transport to use for document signing. Available options: local (default) | gcloud-hsm NEXT_PRIVATE_SIGNING_TRANSPORT="local" # OPTIONAL: The passphrase to use for the local file-based signing transport. NEXT_PRIVATE_SIGNING_PASSPHRASE='passphrase' # OPTIONAL: The local file path to the .p12 file to use for the local signing transport. NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH="/opt/documenso/certificate.p12" # OPTIONAL: The base64-encoded contents of the .p12 file to use for the local signing transport. #NEXT_PRIVATE_SIGNING_LOCAL_FILE_CONTENTS=/opt/documenso/ # [[SMTP]] # OPTIONAL: Defines the transport to use for sending emails. Available options: smtp-auth (default) NEXT_PRIVATE_SMTP_TRANSPORT="smtp-auth" NEXT_PRIVATE_SMTP_HOST="smtp.gmail.com" NEXT_PRIVATE_SMTP_PORT="587" NEXT_PRIVATE_SMTP_USERNAME="email" NEXT_PRIVATE_SMTP_PASSWORD='app pass' NEXT_PRIVATE_SMTP_SECURE="false" # OPTIONAL: if this is true and NEXT_PRIVATE_SMTP_SECURE is false then TLS is not used even if the server supports STARTTLS extension NEXT_PRIVATE_SMTP_UNSAFE_IGNORE_TLS="false" # REQUIRED: Defines the sender name to use for the from address. NEXT_PRIVATE_SMTP_FROM_NAME="Sign" NEXT_PRIVATE_SMTP_FROM_ADDRESS="noreply@documenso.com" # OPTIONAL: Displays the maximum document upload limit to the user in MBs NEXT_PUBLIC_DOCUMENT_SIZE_UPLOAD_LIMIT=50 NEXT_PRIVATE_JOBS_PROVIDER="local" # [[FEATURES]] # OPTIONAL: Leave blank to disable billing. NEXT_PUBLIC_FEATURE_BILLING_ENABLED= # OPTIONAL: Leave blank to allow users to signup through /signup page. NEXT_PUBLIC_DISABLE_SIGNUP= ``` compose ``` services: database: container_name: documenso-db restart: unless-stopped hostname: documenso-db env_file: .env image: postgres:15 # ports: # - "54320" # - "5432" expose: - "54320" - "5432" healthcheck: test: - CMD-SHELL - pg_isready -U documenso interval: 10s timeout: 5s retries: 5 volumes: - /home/incus/documenso/db:/var/lib/postgresql/data documenso: container_name: documenso-app hostname: documenso-app restart: unless-stopped env_file: .env image: documenso/documenso:latest depends_on: database: condition: service_healthy ports: - 3089:3000 - 3001:3001 volumes: - /home/incus/documenso/certificate.p12:/opt/documenso/certificate.p12 networks: documenso: name: documenso driver: bridge ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/documenso#336
No description provided.