iredmail-doc/en_US/howto/relayhost.md

134 lines
3.5 KiB
Markdown
Raw Normal View History

2016-04-19 22:13:47 -05:00
# Setup relayhost
[TOC]
2016-04-19 22:13:47 -05:00
Relay host is a server which can accept your email and sent it out to the final
destination for you.
## Global relay host
2016-04-19 22:13:47 -05:00
To setup a global relay host in iRedMail, please append below settings in
Postfix config file `/etc/postfix/main.cf` (Linux/OpenBSD) or
`/usr/local/etc/postfix/main.cf` (FreeBSD):
```cfg
relayhost = [relay_server]:25
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_security_options = noanonymous
```
!!! note
* You should relace `relay_server` above by the real server address. for
example, `relayhost = [37.61.54.158]:25`, `relayhost = [smtp.gmail.com]:25`.
* For more possible values/formats, please check Postfix document:
[Postfix transport table format (transport)](http://www.postfix.org/transport.5.html).
Then write the username and password in `/etc/postfix/sasl_password`:
```cfg
relay.server user:password
```
Run `postmap` and restart Postfix service:
```cmd
postmap hash:/etc/postfix/sasl_password
service postfix restart
```
## Sender dependent relay host
2017-02-11 10:20:51 -06:00
!!! attention
2017-02-11 10:20:51 -06:00
Sender dependent relay host is available in iRedMail-0.9.5 or later releases.
!!! Note "If your sender dependent relay host requires SMTP Authentication"
If your sender dependent relay host requires SMTP Authentication, please
add one more Postfix parameter in `/etc/postfix/main.cf` (Linux/OpenBSD)
or `/usr/local/etc/postfix/main.cf` (FreeBSD):
```
smtp_sender_dependent_authentication = yes
```
Then add smtp username and password in file `/etc/password/sasl_password`
like below:
```
user@domain.com smtp_user:smtp_password
```
Don't forget to run `postmap hash:/etc/postfix/sasl_password` after
modified this file.
### Manage with iRedAdmin-Pro
Since iRedAdmin-Pro-SQL-2.4.0 or iRedAdmin-Pro-LDAp-2.6.0, it's able to manage
per-domain or per-user sender dependent relay host in domain or user profile
2016-04-20 00:21:43 -05:00
page, under tab `Relay`. Screenshot attached.
### Manage with command line tools
#### MySQL, MariaDB, PostgreSQL
For SQL backends, you can manage sender dependent relay host in SQL table
`mailbox.sender_relayhost`. We use MySQL for example below.
* Per-domain sender dependent relay host:
```
sql> USE vmail;
sql> INSERT INTO sender_relayhost (account, relayhost) VALUES ('@domain.com', '[mail.gmail.com]:25');
```
* Per-user sender dependent relay host:
```
sql> USE vmail;
sql> INSERT INTO sender_relayhost (account, relayhost) VALUES ('user@domain.com', '[mail.gmail.com]:25');
```
#### OpenLDAP
For OpenLDAP backend:
* per-domain sender dependent relay host is stored in attribute `senderRelayHost` of domain account.
* per-user sender dependent relay host is stored in attribute `senderRelayHost` of user account.
Sample LDIF data:
* Per-domain sender dependent relay host
```
dn: domainName=mydomain.com,o=domains,dc=example,dc=com
senderRelayHost: [mail.gmail.com]:25
...
```
* Per-user sender dependent relay host
```
dn: mail=user@mydomain.com,ou=Users,domainName=mydomain.com,o=domains,dc=example,dc=com
senderRelayHost: [mail.gmail.com]:25
...
```
### Screenshot of iRedAdmin-Pro
* iRedAdmin-Pro: Per-domain relay setting:
![](./images/iredadmin/domain_profile_relay.png)
* iRedAdmin-Pro: Per-user relay setting:
![](./images/iredadmin/user_profile_relay.png)
## See Also
* [Integrating Amazon SES with Postfix](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/postfix.html)
* [Use SendGrid as relay server](https://sendgrid.com/docs/Integrate/Mail_Servers/postfix.html)