diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-09-19 10:14:28 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-09-19 10:14:28 +0000 |
| commit | 658214ba8190a7498c37e8a14a45c0fc7b08e6c0 (patch) | |
| tree | a890aa2df8bf0d31a47458fe05413c865da019a7 /lib | |
| parent | 507c8d807e551f2f75f512cb2d5018d8ba50eaa0 (diff) | |
always set Return-Path and drop default Reply-To, fixes #3023
Closes #3023
Merge request studip/studip!2029
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/classes/ForumBulkMail.php | 3 | ||||
| -rw-r--r-- | lib/classes/StudipMail.class.php | 17 | ||||
| -rw-r--r-- | lib/messaging.inc.php | 4 | ||||
| -rw-r--r-- | lib/phplib/Seminar_Register_Auth.class.php | 2 |
4 files changed, 16 insertions, 10 deletions
diff --git a/lib/classes/ForumBulkMail.php b/lib/classes/ForumBulkMail.php index bffb915..3f76194 100644 --- a/lib/classes/ForumBulkMail.php +++ b/lib/classes/ForumBulkMail.php @@ -94,8 +94,7 @@ class ForumBulkMail extends messaging $mail->addRecipient($to, get_fullname($user_id), 'Bcc'); } - $mail->setReplyToEmail('') - ->setBodyText($data['text']); + $mail->setBodyText($data['text']); if (mb_strlen($data['reply_to'])) { $mail->setSenderEmail($data['reply_to']); diff --git a/lib/classes/StudipMail.class.php b/lib/classes/StudipMail.class.php index 1ee0db7..db68a11 100644 --- a/lib/classes/StudipMail.class.php +++ b/lib/classes/StudipMail.class.php @@ -70,6 +70,16 @@ class StudipMail } /** + * Gets the configured abuse mail contact + * + * @return string + */ + public static function getAbuseEmail() + { + return $GLOBALS['MAIL_ABUSE'] ?: "abuse@{$mail_localhost}"; + } + + /** * convenience method for sending a qick, text based email message * * @param string $recipient @@ -99,9 +109,8 @@ class StudipMail public static function sendAbuseMessage($subject, $text) { $mail = new StudipMail(); - $abuse = $mail->getReplyToEmail(); + $abuse = self::getAbuseEmail(); return $mail->setSubject($subject) - ->setReplyToEmail('') ->addRecipient($abuse) ->setBodyText($text) ->send(); @@ -109,7 +118,7 @@ class StudipMail /** * sets some default values for sender and reply to from - * configuration settings. The return path is always set to MAIL_ABUSE + * configuration settings. * */ public function __construct($data = null) @@ -117,7 +126,6 @@ class StudipMail $mail_localhost = $GLOBALS['MAIL_LOCALHOST'] ?: $_SERVER['SERVER_NAME']; $this->setSenderEmail($GLOBALS['MAIL_ENV_FROM'] ?: "wwwrun@{$mail_localhost}"); $this->setSenderName($GLOBALS['MAIL_FROM'] ?: 'Stud.IP - ' . Config::get()->UNI_NAME_CLEAN); - $this->setReplyToEmail($GLOBALS['MAIL_ABUSE'] ?: "abuse@{$mail_localhost}"); if ($data) { $this->setData($data); @@ -391,6 +399,7 @@ class StudipMail throw new Exception('no mail transport defined'); } $transporter->ResetMessage(); + $transporter->SetHeader('Return-Path', $this->getSenderEmail()); $transporter->SetEncodedEmailHeader('From', $this->getSenderEmail(), self::quoteString($this->getSenderName())); if($this->getReplyToEmail()){ $transporter->SetEncodedEmailHeader('Reply-To', $this->getReplyToEmail(), self::quoteString($this->getReplyToName())); diff --git a/lib/messaging.inc.php b/lib/messaging.inc.php index 035e78d..2330bc6 100644 --- a/lib/messaging.inc.php +++ b/lib/messaging.inc.php @@ -226,7 +226,6 @@ class messaging // Now, let us send the message $mail = new StudipMail(); $mail->setSubject($title) - ->setReplyToEmail('') ->addRecipient($to, $rec_fullname) ->setBodyText($mailmessage); if (mb_strlen($reply_to)) { @@ -236,8 +235,7 @@ class messaging ->setSenderName(sprintf(_('Stud.IP für %s'), $snd_fullname)); } else { $mail->setSenderEmail($reply_to) - ->setSenderName($snd_fullname) - ->setReplyToEmail(''); + ->setSenderName($snd_fullname); } } $user_cfg = UserConfig::get($rec_user_id); diff --git a/lib/phplib/Seminar_Register_Auth.class.php b/lib/phplib/Seminar_Register_Auth.class.php index f4b0fd9..f2a272e 100644 --- a/lib/phplib/Seminar_Register_Auth.class.php +++ b/lib/phplib/Seminar_Register_Auth.class.php @@ -214,7 +214,7 @@ class Seminar_Register_Auth extends Seminar_Auth $token = Token::create(7 * 24 * 60 * 60, $user->id); // Link is valid for 1 week $url = $GLOBALS['ABSOLUTE_URI_STUDIP'] . 'email_validation.php?secret=' . $token; $mail = new StudipMail(); - $abuse = $mail->getReplyToEmail(); + $abuse = StudipMail::getAbuseEmail(); $lang_path = getUserLanguagePath($user->id); |
