mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
105 lines
3.0 KiB
Markdown
105 lines
3.0 KiB
Markdown
# Setup Remote SMTP Server for OpenPanel
|
|
|
|
To set up a remote SMTP server for all emails sent from OpenPanel user websites, follow these steps:
|
|
|
|
## Whitelist the Remote SMTP Server
|
|
|
|
On the server with OpenPanel installed, ensure that the IP address of the remote SMTP server is whitelisted on [firewall](/docs/admin/security/firewall/).
|
|
|
|
Similarly, on the remote SMTP server, make sure to whitelist the IP address of the OpenPanel server.
|
|
|
|
|
|
## Configure SMTP per User
|
|
|
|
For each user, SMTP settings are configured via the `/etc/msmtprc` file. An example file content is shown below:
|
|
|
|
```
|
|
# /etc/msmtprc
|
|
defaults
|
|
auth off
|
|
tls off
|
|
logfile /var/log/msmtp.log
|
|
|
|
account default
|
|
host openadmin_mailserver
|
|
port 25
|
|
from USERNAME@HOSTNAME
|
|
```
|
|
|
|
[Login as root for that user](https://dev.openpanel.com/cli/commands.html#Login-as-User) and edit the file. In this file, set the email address and server to be used for all outgoing emails.
|
|
|
|
For example, you can configure Gmail SMTP settings as shown in the [Arch Linux Wiki](https://wiki.archlinux.org/title/Msmtp).
|
|
|
|
Example configuration for Gmail:
|
|
|
|
```bash
|
|
# Set defaults.
|
|
defaults
|
|
|
|
# Enable or disable TLS/SSL encryption.
|
|
auth on
|
|
tls on
|
|
tls_certcheck off
|
|
|
|
# Set up a default account's settings.
|
|
account gmail
|
|
logfile /var/log/msmtp.log
|
|
host "smtp.gmail.com"
|
|
port 587
|
|
user email_account_here@gmail.com
|
|
password "password_here"
|
|
from "email_account_here@gmail.com"
|
|
|
|
# Set default account
|
|
account default: gmail
|
|
```
|
|
|
|
Example configuration for OpenPanel MailServer using a specific email account:
|
|
|
|
```bash
|
|
# Set defaults.
|
|
defaults
|
|
|
|
# Enable or disable TLS/SSL encryption.
|
|
#auth on
|
|
tls off
|
|
tls_certcheck off
|
|
#auth plain
|
|
|
|
# Set up a default account's settings.
|
|
account USERNAME
|
|
logfile /home/USERNAME/msmtp.log
|
|
host openadmin_mailserver
|
|
port 25
|
|
user "email_account_here@example.com"
|
|
password "password_here"
|
|
from "email_account_here@example.com"
|
|
|
|
# Set default account
|
|
account default: USERNAME
|
|
```
|
|
|
|
|
|
|
|
After saving the configuration, test sending emails from a PHP website like WordPress or directly from the terminal: [Simple PHP Mail test](https://conetix.com.au/support/simple-php-mail-test/)
|
|
|
|
## Configure SMTP for all existing users
|
|
|
|
Create a new file on the server, and in it copy the [default /etc/msmtprc file](https://github.com/stefanpejcic/OpenPanel/blob/main/docker/apache/email/msmtprc).
|
|
|
|
In the file set your remote SMTP server address and optionally logins.
|
|
|
|
When finished, run the bellow command to copy the file to each OpenPanel user:
|
|
|
|
```bash
|
|
for user in $(opencli user-list --json | grep -v 'SUSPENDED' | awk -F'"' '/username/ {print $4}'); do
|
|
echo "Processing user: $user"
|
|
docker cp filename $user:/etc/msmtp
|
|
done
|
|
```
|
|
|
|
|
|
## Configure SMTP automatically for new users
|
|
|
|
To automatically have all users pre-configured to use your remote SMTP server, [build a docker image](/docs/articles/docker/building_a_docker_image_example_include_php_ioncubeloader/) that has your custom [/etc/msmtprc](https://github.com/stefanpejcic/OpenPanel/blob/main/docker/apache/email/msmtprc) file.
|