From: Nicolas Iooss Date: Mon, 24 Feb 2014 22:14:47 +0000 (+0100) Subject: Add mailing list headers to newsletters X-Git-Tag: xorg/1.1.12~17^2 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=7951d5b0c1bc1e69b7790403309061df2d4d8cc4;p=platal.git Add mailing list headers to newsletters --- diff --git a/include/newsletter.inc.php b/include/newsletter.inc.php index 5cfe34d..5ceabc0 100644 --- a/include/newsletter.inc.php +++ b/include/newsletter.inc.php @@ -622,6 +622,26 @@ class NewsLetter } } + /** Get a full URL to a newsletter + */ + public function fullUrl() + { + switch ($this->group) { + case self::GROUP_XORG: + return 'https://www.polytechnique.org/nl'; + case self::GROUP_COMMUNITY: + return 'https://www.polytechnique.org/comletter'; + case self::GROUP_AX: + return 'https://www.polytechnique.org/ax'; + case self::GROUP_EP: + return 'https://www.polytechnique.org/epletter'; + case self::GROUP_FX: + return 'https://www.polytechnique.org/fxletter'; + default: + return 'http://www.polytechnique.net/' . $this->group . '/nl'; + } + } + /** Get links for nl pages. */ public function adminLinks() @@ -1225,6 +1245,7 @@ class NLIssue */ public function sendTo($user, $hash = null) { + global $globals; $this->fetchArticles(); if (is_null($hash)) { @@ -1252,6 +1273,21 @@ class NLIssue if (!empty($this->reply_to)) { $mailer->addHeader('Reply-To', $this->reply_to); } + + // Add mailing list headers + // Note: "Precedence: bulk" is known to cause issues on some clients + $mailer->addHeader('Precedence', 'list'); + // RFC 2919 header + $mailer->addHeader('List-Id', $this->nl->group . + ' <' . $this->nl->group . '.newsletter.' . $globals->mail->domain . '>'); + // RFC 2369 headers + $listurl = $this->nl->fullUrl(); + $mailer->addHeader('List-Unsubscribe', '<' . $listurl . '/out/nohash/' . $this->id . '>'); + $mailer->addHeader('List-Subscribe', '<' . $listurl. '/in/nohash/' . $this->id . '>'); + $mailer->addHeader('List-Archive', '<' . $listurl . '>'); + $mailer->addHeader('List-Help', '<' . $listurl . '>'); + $mailer->addHeader('List-Owner', 'mail->domain . '>'); + $mailer->sendTo($user); }