Browse Source

introduce smtp config option for EHLO identity

Tobias Hintze 8 years ago
parent
commit
af79d046db

+ 1 - 0
conf/defaults.ini

@@ -318,6 +318,7 @@ key_file =
 skip_verify = false
 from_address = admin@grafana.localhost
 from_name = Grafana
+ehlo_identity =
 
 [emails]
 welcome_email_on_sign_up = false

+ 2 - 0
conf/sample.ini

@@ -295,6 +295,8 @@
 ;skip_verify = false
 ;from_address = admin@grafana.localhost
 ;from_name = Grafana
+# EHLO identity in SMTP dialog (defaults to instance_name)
+;ehlo_identity = dashboard.example.com
 
 [emails]
 ;welcome_email_on_sign_up = false

+ 1 - 0
docs/sources/http_api/admin.md

@@ -161,6 +161,7 @@ Only works with Basic Authentication (username and password). See [introduction]
         "enabled":"false",
         "from_address":"admin@grafana.localhost",
         "from_name":"Grafana",
+        "ehlo_identity":"dashboard.example.com",
         "host":"localhost:25",
         "key_file":"",
         "password":"************",

+ 3 - 0
docs/sources/installation/configuration.md

@@ -593,6 +593,9 @@ Address used when sending out emails, defaults to `admin@grafana.localhost`
 ### from_name
 Name to be used when sending out emails, defaults to `Grafana`
 
+### ehlo_identity
+Name to be used as client identity for EHLO in SMTP dialog, defaults to instance_name.
+
 ## [log]
 
 ### mode

+ 5 - 1
pkg/services/notifications/mailer.go

@@ -101,7 +101,11 @@ func createDialer() (*gomail.Dialer, error) {
 
 	d := gomail.NewDialer(host, iPort, setting.Smtp.User, setting.Smtp.Password)
 	d.TLSConfig = tlsconfig
-	d.LocalName = setting.InstanceName
+	if setting.Smtp.EhloIdentity != "" {
+		d.LocalName = setting.Smtp.EhloIdentity
+	} else {
+		d.LocalName = setting.InstanceName
+	}
 	return d, nil
 }
 

+ 11 - 9
pkg/setting/setting_smtp.go

@@ -1,15 +1,16 @@
 package setting
 
 type SmtpSettings struct {
-	Enabled     bool
-	Host        string
-	User        string
-	Password    string
-	CertFile    string
-	KeyFile     string
-	FromAddress string
-	FromName    string
-	SkipVerify  bool
+	Enabled      bool
+	Host         string
+	User         string
+	Password     string
+	CertFile     string
+	KeyFile      string
+	FromAddress  string
+	FromName     string
+	EhloIdentity string
+	SkipVerify   bool
 
 	SendWelcomeEmailOnSignUp bool
 	TemplatesPattern         string
@@ -25,6 +26,7 @@ func readSmtpSettings() {
 	Smtp.KeyFile = sec.Key("key_file").String()
 	Smtp.FromAddress = sec.Key("from_address").String()
 	Smtp.FromName = sec.Key("from_name").String()
+	Smtp.EhloIdentity = sec.Key("ehlo_identity").String()
 	Smtp.SkipVerify = sec.Key("skip_verify").MustBool(false)
 
 	emails := Cfg.Section("emails")