Generate DKIM online https://dkimcore.org/tools/
Save privatekey.txt (Private key), publickey.txt (Raw format) and tinydns.txt (Tinydns Format) to folder "dkim".
Replace in tinydns.txt
1533037334.example._domainkey.example.ru.
to
mail._domainkey.example.ru.
Remove from tinydns.txt all line break, quotes, commas, :3600:: if exist, white spaces.
Must be like this:
mail._domainkey.example.ru:v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBxQUAA4GNADCBiQKBgQCRxzp5nT2S5xqYNPMXaHzx9FZdO+QKiZse6tOTcDeZbRzR9I/oEzMgbuDoWwQ2SsCfvlx7lzxKjDaKkbl3rxnSF1wpSre7AMqM9nZq7b5kX+YzWXzuTiwCMBl6bbnAi/x+qePV9lURJVu5YcblYYOAqWZ/3F/8DDRFGeBjDwcwIDAQAB
Add TXT record to your domain in DNS zone
KEY:
mail._domainkey
VALUE:
v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBxQUAA4GNADCBiQKBgQCRxzp5nT2S5xqYNPMXaHzx9FZdO+QKiZse6tOTcDeZbRzR9I/oEzMgbuDoWwQ2SsCfvlx7lzxKjDaKkbl3rxnSF1wpSre7AMqM9nZq7b5kX+YzWXzuTiwCMBl6bbnAi/x+qePV9lURJVu5YcblYYOAqWZ/3F/8DDRFGeBjDwcwIDAQAB
Delete key from https://dkimcore.org/tools/
The container accepts RELAY_NETWORKS environment variable which MUST start with : e.g :192.168.0.0/24 or :192.168.0.0/24:10.0.0.0/16.
The container accepts KEY_PATH and CERTIFICATE_PATH environment variable that if provided will enable TLS support. The paths must be to the key and certificate file on a exposed volume. The keys will be copied into the container location.
The container accepts MAILNAME environment variable which will set the outgoing mail hostname.
The container also accepts the PORT environment variable, to set the port the mail daemon will listen on inside the container. The default port is 25.
To disable IPV6 you can set the DISABLE_IPV6 environment variable to any value.
cd smtp && docker build -t smtp .
version: "3"
services:
site:
image: site:latest
depends_on:
- smtp
links:
- smtp
volumes:
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
smtp:
image: smtp:latest
environment:
MAILNAME: "site"
RELAY_NETWORKS: ":10.0.0.0/16" # Recieve smtp connections only from local network between containers
volumes:
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
package main
import (
"bytes"
"log"
"net/smtp"
)
func main() {
// Connect to the remote SMTP server.
c, err := smtp.Dial("smtp:25")
if err != nil {
log.Fatal(err)
}
defer c.Close()
// Set the sender and recipient.
c.Mail("[email protected]")
c.Rcpt("[email protected]")
// Send the email body.
wc, err := c.Data()
if err != nil {
log.Fatal(err)
}
defer wc.Close()
buf := bytes.NewBufferString("This is the email body.")
if _, err = buf.WriteTo(wc); err != nil {
log.Fatal(err)
}
}
Content type
Image
Digest
Size
49.1 MB
Last updated
over 7 years ago
docker pull vmpartner/smtp