Ubuntu
,Mail Relay
, Pstfix
sudo apt update
sudo apt install postfix
選擇 Internet Site 模式
輸入主機名稱 EX: mailrealy.example.com
編輯 /etc/postfix/main.cf,輸入:
sudo nano /etc/postfix/main.cf
main.cf內容:
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific: Specifying a file name will cause the first
# line of that file to be used as the name. The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2
#25 inet n - n - - smtpd
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mailrelay.example.com //mailrelay 主機名稱
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#myorigin = $myhostname
mydestination = localhost.$mydomain, localhost, $myhostname
#mydestination=
relayhost = [smtp.office365.com]:587 //此為O365 SMTP伺服器
mynetworks = 127.0.0.0/8 192.168.0.0/24 //輸入區網IP 用空白分隔
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
#inet_protocols = all
inet_protocols = ipv4
smtp_sasl_auth_enable = yes
#smtp_sasl_password_maps = static:test@example.com:Password
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
#header_size_limit = 4096000
myhostname : Relay主機名稱
relayhost : 此用O365做SMTP伺服器,若是其他主機就設定該主機上的SMTP伺服器
mynetworks : 區網IP
inet_interfaces : 誰可以傳進這台主機
inet_protocols : 使用IPV4即可
smtp_sasl_password_maps : 這裡有兩種寫法, 一種是直接寫死(如53行),另一種是另外做一個檔案把相關參數放在該檔案裡(54行)
帶設定都完成後跳出並重啟Postfix服務:
sudo systemctl restart postfix
剛剛說到把smtp_sasl_password_maps放在另一個檔案內所以需要在該檔案(檔案位置在/etc/postfix/)內新增下面內容
[smtp伺服器]:port號 帳號:密碼
[smtp.office365.com]:587 test@example.com:Password
當Postfix都設定完成後記得要開啟防火牆 Port 25
sudo ufw allow 25/tcp
sudo ufw restart //重開防火牆
sudo netsta -tuln
telent 測試,開啟命令提示字元
指令:
telnet 192.168.XXX.XXX 25
若成功就下面文字代表已經TELNET進去POSTFIX服務裡
安裝 Mailutils 套件
sudo apt install mailutils
安裝後可測試發信看看,若收到信就代表成功了
指令:
echo "This is a test email body." | mail -s "Subject title" -a "From: send@example.com" receive@example.com