Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
Configure SMTP in a self-hosted Discourse installation by editing /var/discourse/containers/app.yml, adding the provider’s SMTP hostname, port, credentials and TLS mode under env, then recreating or rebuilding the app container. Port 587 with STARTTLS is the usual authenticated submission choice; port 465 uses implicit TLS and needs a different Discourse setting. After the container reloads, test delivery and check both Discourse’s email log and the provider’s response.
What Discourse SMTP settings control
SMTP is the outbound mail connection Discourse uses to validate new accounts and send notifications. In the standard self-hosted Docker installation, these settings are injected into the application container as environment variables. They are not entered in a separate mail-server configuration file inside the running container.
The Discourse template describes DISCOURSE_SMTP_ADDRESS as “The SMTP mail server used to validate new accounts and send notifications.” The actual hostname, credentials, port and encryption requirements come from your SMTP provider.
Before you edit the container
Have the following information ready from the SMTP service you intend to use:
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.
- The SMTP hostname, such as the provider’s submission server name.
- The required submission port and whether that port expects STARTTLS or implicit TLS.
- The SMTP username and password, if authentication is required.
- Any required sending domain or provider-specific OpenSSL verification setting.
- A sender address that the provider permits for the authenticated account.
For a new community, Discourse support advice generally favors using an established SMTP service instead of operating a mail server yourself. A hosted service normally handles delivery reputation, queueing and provider-side rejection details that you would otherwise have to operate and monitor.
Where to put the settings
On a conventional Docker-based installation, open:
/var/discourse/containers/app.yml
Find the existing env: section. Add or update the SMTP variables at the same indentation level as the other environment entries. YAML indentation matters: use spaces, not tabs, and keep each variable beneath env:.
Minimal authenticated STARTTLS example
env:
DISCOURSE_SMTP_ADDRESS: smtp.example.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: user@example.com
DISCOURSE_SMTP_PASSWORD: "replace-with-secret"
DISCOURSE_SMTP_ENABLE_START_TLS: true
Replace every example value with the values issued by your provider. Quoting the password is prudent when it contains YAML-sensitive characters such as :, #, braces or leading special characters.
What each variable does
| Variable | Purpose | What to enter |
|---|---|---|
DISCOURSE_SMTP_ADDRESS |
SMTP server hostname | The provider’s current SMTP host; this is the required address in the Discourse template. |
DISCOURSE_SMTP_PORT |
TCP submission port | The port specified by the provider. Port 587 is a common authenticated choice. |
DISCOURSE_SMTP_USER_NAME |
SMTP login name | The provider-issued username, often an email address but not always. |
DISCOURSE_SMTP_PASSWORD |
SMTP login secret | The password, token or other credential required by the provider. |
DISCOURSE_SMTP_ENABLE_START_TLS |
Whether to upgrade the connection with STARTTLS | true when the selected port expects STARTTLS; follow the provider’s instructions. |
DISCOURSE_SMTP_FORCE_TLS |
Forces TLS from the beginning of the connection | Set to true for implicit-TLS configurations such as port 465 when the provider requires it. |
DISCOURSE_SMTP_DOMAIN |
Optional SMTP domain value | Only when the provider requires it; do not add a guessed domain. |
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE |
Provider-specific certificate verification behavior | Only the value documented by the provider for your connection. |
Discourse’s defaults are port 25, plain SMTP authentication and STARTTLS enabled. Authentication is used when a username or password is present. Those defaults do not mean port 25 is the right choice for your service; submission providers commonly require another port.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
Choose the correct port and encryption mode
| Port | Encryption model | Typical Discourse treatment | When to use it |
|---|---|---|---|
| 587 | STARTTLS upgrade | Set DISCOURSE_SMTP_PORT: 587 and normally keep DISCOURSE_SMTP_ENABLE_START_TLS: true. |
The usual authenticated submission option when the provider supports STARTTLS. |
| 465 | Implicit TLS from connection start | Use the provider’s required port and set DISCOURSE_SMTP_FORCE_TLS: true according to Discourse troubleshooting guidance. |
Only when the provider explicitly documents implicit TLS on 465. |
| 2525 | Provider-defined submission mode | Use the provider’s specified TLS setting; the port can be an alternate when standard submission ports are blocked. | A fallback submission port offered by some providers. |
| 25 | Default SMTP port in Discourse | Discourse defaults to 25, but the provider may not permit authenticated submission there. | Only when your provider specifically supports it and your host network allows it. |
Do not combine STARTTLS and implicit TLS settings by guesswork. Port 587 generally begins unencrypted and upgrades with STARTTLS; port 465 generally negotiates TLS immediately. A mismatch can produce connection resets, handshake errors or authentication failures that look like bad credentials.
Step-by-step: configure SMTP in app.yml
- Connect to the Discourse host. Use an account that can edit files under
/var/discourseand manage the application container. - Open the container configuration. Edit
/var/discourse/containers/app.ymlwith your preferred terminal editor. - Locate
env:. Keep the SMTP entries inside that mapping and preserve the file’s existing YAML structure. - Enter the provider hostname. Set
DISCOURSE_SMTP_ADDRESSto the exact SMTP server name supplied by the provider, not the webmail URL. - Set the submission port. Use 587 for a STARTTLS service, 465 for a provider that documents implicit TLS, or 2525 when the provider offers it as an alternate.
- Add credentials when required. Set
DISCOURSE_SMTP_USER_NAMEandDISCOURSE_SMTP_PASSWORD. If the provider uses an API-generated SMTP token, enter that token as the password. - Set TLS options to match the port. Keep
DISCOURSE_SMTP_ENABLE_START_TLS: truefor STARTTLS. For implicit TLS on port 465, addDISCOURSE_SMTP_FORCE_TLS: trueas directed by the provider. - Add provider-specific values only when documented. Some services require
DISCOURSE_SMTP_DOMAINor a particularDISCOURSE_SMTP_OPENSSL_VERIFY_MODE. Copy the current provider value rather than inventing one. - Save and inspect the YAML. Check indentation, spelling, quotation marks and whether a duplicate variable later in the file would override your intended value.
Apply the new environment variables
Editing app.yml does not by itself change the environment of an already-created container. From the Discourse directory, recreate the application container:
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemscd /var/discourse
./launcher destroy app
./launcher start app
A simple restart may leave the old environment in place. If your maintenance plan calls for a rebuild, Discourse also documents this application path:
cd /var/discourse
./launcher rebuild app
Choose recreation or rebuild according to your normal change procedure and maintenance window. The important requirement is that the app container be recreated or rebuilt so it receives the edited values.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Set a sender address the provider will accept
Successful SMTP login does not guarantee that a message will be accepted. Some services require the message’s From address to match the authenticated mailbox or a sender identity verified with that service.
In Discourse, the notification sender is controlled by the SiteSetting.notification_email setting. If the provider rejects mail after authentication succeeds, set this value to an address permitted by the provider—often the same mailbox used as the SMTP username—and then send another test. A sender-domain verification requirement is separate from the SMTP password: the provider may require both an authenticated account and an approved domain or mailbox.
Verify delivery after the change
- Use Discourse’s email test or trigger a notification that should be sent to an address you can inspect.
- Check whether Discourse records a successful handoff or an error in its email logs.
- Inspect the SMTP provider’s activity, rejection or bounce information when available.
- Confirm receipt, including the recipient’s spam or quarantine folder. A successful SMTP handoff means the provider accepted the message; it does not guarantee inbox placement.
Record the exact error text rather than relying on a generic “email failed” message. The distinction between DNS failure, a refused TCP connection, a TLS handshake error, authentication rejection and a sender-policy rejection determines the next fix.
Troubleshoot in a predictable order
1. The hostname cannot be reached or resolved
From the Discourse host, confirm that the SMTP hostname resolves. A typo in DISCOURSE_SMTP_ADDRESS, a local DNS problem or a provider hostname that has changed will prevent a connection before authentication begins. Correct the hostname, recreate the container and test again.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
2. The connection is refused or times out
Verify the provider’s required port and whether outbound traffic on that port is allowed by your host, cloud firewall or network policy. Do not assume port 25 is usable simply because it is Discourse’s default. If the provider offers 2525, try that alternate submission port when a standard port is blocked.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
3. TLS negotiation fails
Match the encryption mode to the port. For 587, use STARTTLS. For 465, use implicit TLS and the provider-required DISCOURSE_SMTP_FORCE_TLS: true. Check any provider instruction for DISCOURSE_SMTP_OPENSSL_VERIFY_MODE; changing certificate verification without a documented reason can hide a certificate or hostname problem.
4. Authentication is rejected
Re-enter the username and password or SMTP token exactly as issued. Confirm that the provider allows SMTP authentication for the account and that the credential has not expired or been revoked. If the service requires a domain value, add the documented DISCOURSE_SMTP_DOMAIN and recreate the container afterward.
5. Login succeeds but the message is rejected
Check the sender policy first. Set SiteSetting.notification_email to the authenticated mailbox or another sender identity explicitly permitted by the provider. Review the provider’s rejection text for an unverified domain, disallowed sender or policy restriction.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
6. Changes appear to have no effect
Confirm that you edited /var/discourse/containers/app.yml, not a temporary file or a different Discourse installation. Then recreate or rebuild the app container. A restart alone may continue using the previous environment values. After the operation completes, generate a new test rather than judging from an earlier failed message.
How to evaluate an SMTP provider
The lowest advertised price is not enough to determine whether a service is suitable for a community forum. Compare the operational characteristics that affect registration emails, password resets and notifications:
| Evaluation area | Questions to answer |
|---|---|
| Delivery reputation | How does the service protect sending reputation, and what controls exist when recipients mark mail as spam? |
| Authentication | Does it use a password, token or another SMTP credential, and does it require a specific domain value? |
| Ports and TLS | Are 587/STARTTLS, 465/implicit TLS or 2525 available, and which mode is documented for each? |
| Sender verification | Must the authenticated mailbox, domain or both be verified before mail is accepted? |
| Logs and bounces | Can you see accepted, rejected, bounced and deferred messages with useful error details? |
| Regional availability | Are signup, sending and support available in the jurisdictions where your forum operates? |
| Cost structure | Is pricing based on monthly volume, recipients, features or a recurring minimum, and can it change as the forum grows? |
Amazon SES is one example that appears in Discourse configuration discussions, but the same checks apply to any provider. Use the service’s current documentation for exact hostnames, ports, TLS requirements and sender-verification rules.
Quick Recap
Operational and security practices
- Restrict access to
app.yml; it contains an SMTP credential in plain configuration text. - Use a mailbox or sending identity dedicated to forum notifications rather than a personal inbox.
- Rotate the SMTP password or token at the provider and update
app.ymlwhen credentials change. - Keep a record of the selected port and TLS mode so a future administrator does not “fix” a working setup by mixing 587 and 465 conventions.
- Monitor Discourse email logs and provider rejection or bounce reports after major forum changes.
- When changing any SMTP value, recreate or rebuild the application container and perform a fresh delivery test.
Quick configuration checklist
DISCOURSE_SMTP_ADDRESSis the provider’s SMTP hostname.DISCOURSE_SMTP_PORTmatches the provider’s submission service.- STARTTLS is enabled for a STARTTLS port, or forced TLS is enabled for documented implicit TLS.
- Username, password or token and any required domain are correct.
app.ymlis valid YAML and the values are underenv:.- The
appcontainer was recreated or rebuilt after editing. SiteSetting.notification_emailuses an accepted sender address.- A new test message was checked in Discourse logs and at the provider.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

