2016-08-30 53 views
0

這是我的問題。如何在Ubuntu 16.04上配置Postfix,從Java webapp發送郵件

我有一個Java Web應用程序,它應該爲各種目的發送一些郵件通知。爲此,我添加了apache的commons-email artifact。

<dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-email</artifactId> 
     <version>1.4</version> 
    </dependency> 

另一方面,它在Ubuntu 16.04上進行了部署,其中安裝了後綴。這裏是main.cf。我已經清理三個字,取代了通用的,它們是:

  • 服務器名
  • 項目

但在我的配置文件ar還一個字每一個,沒有什麼奇怪的。

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 

# TLS parameters 
smtpd_tls_cert_file=/path/to/certs/certs/ssl-cert-snakeoil.pem 
smtpd_tls_key_file=/path/to/certs/private/ssl-cert-snakeoil.key 
smtpd_use_tls=yes 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for 
# information on enabling SSL in the smtp client. 

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination 
myhostname = servername.members.linode.com 
alias_maps = hash:/etc/aliases 
alias_database = hash:/etc/aliases 
myorigin = /etc/mailname 
mydestination = servername.domain.com, localhost, localhost.localdomain, localhost, project.domain.com 
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
mailbox_size_limit = 0 
recipient_delimiter = + 
inet_interfaces = all 

最後我的問題:我如何配置此後綴的安裝,讓自己的Java代碼不需要身份驗證,或者如果它(甚至更好),在那裏/我該怎麼設置呢?

我在錯誤的方向嗎?提前致謝!

回答

1

您需要將您的Java Web應用程序的IP地址添加到mynetworks中參數:

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 

然後發出

postfix reload 

第一個限制觸發將「permit_mynetworks」和郵件將被通過!

+0

我僱了一個解決它的人,但我不知道如何。後期安裝在同一臺服務器上安裝。 – coya