Skip to content

Docs: Drop mention of port 25 support for authenticated submission#3496

Merged
polarathene merged 4 commits intodocker-mailserver:masterfrom
HeySora:faq-port-25
Aug 22, 2023
Merged

Docs: Drop mention of port 25 support for authenticated submission#3496
polarathene merged 4 commits intodocker-mailserver:masterfrom
HeySora:faq-port-25

Conversation

@HeySora
Copy link
Copy Markdown
Contributor

@HeySora HeySora commented Aug 21, 2023

Description

In the same spirit as #3464, this PR fixes a documentation issue (in the FAQ page, and in "Understanding the Ports"), about using port 25 for mail clients, which is unsupported since #3006.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (non-breaking change that does improve existing functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

@HeySora HeySora changed the title FAQ: Remove outdated port 25 for mail client use Documentation: Remove outdated port 25 for mail client uses Aug 21, 2023
@polarathene
Copy link
Copy Markdown
Member

Not exactly the case.

You can still use port 25 to submit mail without requiring authentication.

  • This is done internally for system mail (eg: cron), and can be supported when your client is trusted (eg: Via PERMIT_DOCKER ENV).
  • While authentication would also enable trust (working for the default PERMIT_DOCKER=none), it has been intentionally disabled on Port 25 (as it should).

Perhaps we could better clarify that?

Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's some context if you want to further elaborate in the docs.

Otherwise, dropping the "Understanding the Ports" change, as it's not accurate. FAQ change is ok 👍

Comment thread docs/content/faq.md

# SMTP
smtp port: 25 or 587/465 with STARTTLS/SSL (recommended)
smtp port: 587 or 465 with STARTTLS/SSL (recommended)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is valid due to the suggestion of credentials to authenticate 👍


1. A connection _may_ be secured over TLS when both ends support `STARTTLS`. On ports 110, 143 and 587, DMS will reject a connection that cannot be secured. Port 25 is [required][ref-port25-mandatory] to support insecure connections.
2. Receives email, DMS additionally filters for spam and viruses. For submitting email to the server to be sent to third-parties, you should prefer the _submission_ ports (465, 587) - which require authentication. Unless a relay host is configured (eg: SendGrid), outgoing email will leave the server via port 25 (_thus outbound traffic must not be blocked by your provider or firewall_).
2. Receives email, DMS additionally filters for spam and viruses. For submitting email to the server to be sent to third-parties, you need to use the _submission_ ports (465, 587) - which require authentication. Unless a relay host is configured (eg: SendGrid), outgoing email will leave the server via port 25 (_thus outbound traffic must not be blocked by your provider or firewall_).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this one is not specific to authenticated submission.

You may have another container / server send mail to DMS on port 25 to relay externally elsewhere. Provided it's trusted via something like PERMIT_DOCKER, it will be able to send that mail.

Presently SPOOF_PROTECTION=1 doesn't affect port 25, so such a scenario could send as anyone on port 25 when trusted even with this ENV enabled. Our method used is only related to authenticated SASL users being prevented from sending as anyone but themselves though, whereas a different Postfix option would be better for port 25 that prevents sending as a known SASL user (without authenticating, which would be required over 465 or 587 instead).

I'd still advise using authentication to send mail out, vs trusting an IP address where any process could from that source could use DMS as an open relay (from that trusted source at least).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it! Thank you for the clarification 😊
This change has been reverted.

@polarathene polarathene added area/security kind/improvement Improve an existing feature, configuration file or the documentation area/documentation area/networking labels Aug 21, 2023
@polarathene polarathene added this to the v13.0.0 milestone Aug 21, 2023
@HeySora HeySora requested a review from polarathene August 22, 2023 04:03
Copy link
Copy Markdown
Member

@polarathene polarathene left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this and updating our docs ❤️

@github-actions
Copy link
Copy Markdown
Contributor

Documentation preview for this PR is ready! 🎉

Built with commit: 038622e

@polarathene polarathene changed the title Documentation: Remove outdated port 25 for mail client uses Docs: Drop mention of port 25 support for authenticated submission Aug 22, 2023
@polarathene polarathene merged commit 758fd9c into docker-mailserver:master Aug 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation area/networking area/security kind/improvement Improve an existing feature, configuration file or the documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants