From 827ab6b75a70a3cd90033a4d49bb44c635dd3310 Mon Sep 17 00:00:00 2001 From: zeripath Date: Wed, 17 Apr 2019 05:56:40 +0100 Subject: [PATCH] Add SUBJECT_PREFIX mailer config option (#6605) * Add SUBJECT_PREFIX mailer config option * Add space between subject prefix and subject (Change from Gogs) Signed-off-by: Andrew Thornton --- custom/conf/app.ini.sample | 4 ++-- docs/content/doc/advanced/config-cheat-sheet.en-us.md | 5 +++-- modules/mailer/mailer.go | 6 +++++- modules/setting/mailer.go | 2 ++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/custom/conf/app.ini.sample b/custom/conf/app.ini.sample index 6dee39ed8351..4b846d3aff91 100644 --- a/custom/conf/app.ini.sample +++ b/custom/conf/app.ini.sample @@ -411,8 +411,8 @@ PAGING_NUM = 10 ENABLED = false ; Buffer length of channel, keep it as it is if you don't know what it is. SEND_BUFFER_LEN = 100 -; Name displayed in mail title -SUBJECT = %(APP_NAME)s +; Prefix displayed before subject in mail +SUBJECT_PREFIX = ; Mail server ; Gmail: smtp.gmail.com:587 ; QQ: smtp.qq.com:465 diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md index 1e97f93e136b..8ae89ef4de51 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md +++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md @@ -241,14 +241,15 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. - `PASSWD`: **\**: Password of mailing user. Use \`your password\` for quoting if you use special characters in the password. - `SKIP_VERIFY`: **\**: Do not verify the self-signed certificates. - **Note:** Gitea only supports SMTP with STARTTLS. +- `SUBJECT_PREFIX`: **\**: Prefix to be placed before e-mail subject lines. - `MAILER_TYPE`: **smtp**: \[smtp, sendmail, dummy\] - **smtp** Use SMTP to send mail - **sendmail** Use the operating system's `sendmail` command instead of SMTP. This is common on linux systems. - **dummy** Send email messages to the log as a testing phase. - Note that enabling sendmail will ignore all other `mailer` settings except `ENABLED`, - `FROM` and `SENDMAIL_PATH`. - - Enabling dummy will ignore all settings except `ENABLED` and `FROM`. + `FROM`, `SUBJECT_PREFIX` and `SENDMAIL_PATH`. + - Enabling dummy will ignore all settings except `ENABLED`, `SUBJECT_PREFIX` and `FROM`. - `SENDMAIL_PATH`: **sendmail**: The location of sendmail on the operating system (can be command or full path). - ``IS_TLS_ENABLED`` : **false** : Decide if SMTP connections should use TLS. diff --git a/modules/mailer/mailer.go b/modules/mailer/mailer.go index 84da0d4c17f6..411d6eafd894 100644 --- a/modules/mailer/mailer.go +++ b/modules/mailer/mailer.go @@ -38,7 +38,11 @@ func NewMessageFrom(to []string, fromDisplayName, fromAddress, subject, body str msg := gomail.NewMessage() msg.SetAddressHeader("From", fromAddress, fromDisplayName) msg.SetHeader("To", to...) - msg.SetHeader("Subject", subject) + if len(setting.MailService.SubjectPrefix) > 0 { + msg.SetHeader("Subject", setting.MailService.SubjectPrefix+" "+subject) + } else { + msg.SetHeader("Subject", subject) + } msg.SetDateHeader("Date", time.Now()) msg.SetHeader("X-Auto-Response-Suppress", "All") diff --git a/modules/setting/mailer.go b/modules/setting/mailer.go index e627aef017fd..3101ed54528b 100644 --- a/modules/setting/mailer.go +++ b/modules/setting/mailer.go @@ -21,6 +21,7 @@ type Mailer struct { FromEmail string SendAsPlainText bool MailerType string + SubjectPrefix string // SMTP sender Host string @@ -65,6 +66,7 @@ func newMailService() { CertFile: sec.Key("CERT_FILE").String(), KeyFile: sec.Key("KEY_FILE").String(), IsTLSEnabled: sec.Key("IS_TLS_ENABLED").MustBool(), + SubjectPrefix: sec.Key("SUBJECT_PREFIX").MustString(""), SendmailPath: sec.Key("SENDMAIL_PATH").MustString("sendmail"), }