diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt
index ece0717cd..be43e6365 100644
--- a/docs/changelog/7.x.x.txt
+++ b/docs/changelog/7.x.x.txt
@@ -34,6 +34,7 @@
- fix: attachments section of post form not working correctly on edit
- Images now create revisions as you resize them, so you can roll back to a
previous size.
+ - partial fix: invalid Message-ID headers in outgoing mail
7.0.7
- rfe: Image Management (funded by Formation Design Systems)
diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm
index 00f862836..1e8ca86b6 100644
--- a/lib/WebGUI/Asset/Post.pm
+++ b/lib/WebGUI/Asset/Post.pm
@@ -639,7 +639,6 @@ sub notifySubscribers {
$var->{url} = $siteurl.$self->getUrl;
$var->{'notify.subscription.message'} = $i18n->get(875,"Asset_Post");
my $message = $self->processTemplate($var, $cs->get("notificationTemplateId"));
- my $unsubscribe = '
'.$i18n->get("unsubscribe","Asset_Collaboration").'
';
my $user = WebGUI::User->new($self->session, $self->get("ownerUserId"));
my $setting = $self->session->setting;
my $returnAddress = $setting->get("mailReturnPath");
@@ -660,67 +659,41 @@ sub notifySubscribers {
$replyId = "cs-".$self->getParent->getId.'@'.$domain;
}
my $subject = $cs->get("mailPrefix").$self->get("title");
- my $mail = WebGUI::Mail::Send->create($self->session, {
- from=>"<".$from.">",
- returnPath => "<".$returnPath.">",
- replyTo=>"<".$replyTo.">",
- toGroup=>$cs->get("subscriptionGroupId"),
- subject=>$subject,
- messageId=>$messageId
- });
- if ($self->isReply) {
- $mail->addHeaderField("In-Reply-To", "<".$replyId.">");
- $mail->addHeaderField("References", "<".$replyId.">");
+
+ foreach my $subscriptionAsset ($cs, $thread) {
+ my $groupId = $subscriptionAsset->get('subscriptionGroupId');
+ my $unsubscribe = ''.$i18n->get("unsubscribe","Asset_Collaboration").'
';
+ my $mail = WebGUI::Mail::Send->create($self->session, {
+ from=>"<".$from.">",
+ returnPath => "<".$returnPath.">",
+ replyTo=>"<".$replyTo.">",
+ toGroup=>$groupId,
+ subject=>$subject,
+ messageId=>'<'.$messageId.'>'
+ });
+ if ($self->isReply) {
+ $mail->addHeaderField("In-Reply-To", "<".$replyId.">");
+ $mail->addHeaderField("References", "<".$replyId.">");
+ }
+ $mail->addHeaderField("List-ID", $cs->getTitle." <".$listId.">");
+ $mail->addHeaderField("List-Help", ", <".$setting->get("companyURL").">");
+ $mail->addHeaderField("List-Unsubscribe", "<".$siteurl.$subscriptionAsset->getUnsubscribeUrl.">");
+ $mail->addHeaderField("List-Subscribe", "<".$siteurl.$subscriptionAsset->getSubscribeUrl.">");
+ $mail->addHeaderField("List-Owner", ", <".$setting->get("companyURL")."> (".$setting->get("companyName").")");
+ $mail->addHeaderField("Sender", "<".$sender.">");
+ if ($listAddress eq "") {
+ $mail->addHeaderField("List-Post", "No");
+ } else {
+ $mail->addHeaderField("List-Post", "");
+ }
+ $mail->addHeaderField("List-Archive", "<".$siteurl.$cs->getUrl.">");
+ $mail->addHeaderField("X-Unsubscribe-Web", "<".$siteurl.$subscriptionAsset->getUnsubscribeUrl.">");
+ $mail->addHeaderField("X-Subscribe-Web", "<".$siteurl.$subscriptionAsset->getSubscribeUrl.">");
+ $mail->addHeaderField("X-Archives", "<".$siteurl.$cs->getUrl.">");
+ $mail->addHtml($message.$unsubscribe);
+ $mail->addFooter;
+ $mail->queue;
}
- $mail->addHeaderField("List-ID", $cs->getTitle." <".$listId.">");
- $mail->addHeaderField("List-Help", ", <".$setting->get("companyURL").">");
- $mail->addHeaderField("List-Unsubscribe", "<".$siteurl.$cs->getUnsubscribeUrl.">");
- $mail->addHeaderField("List-Subscribe", "<".$siteurl.$cs->getSubscribeUrl.">");
- $mail->addHeaderField("List-Owner", ", <".$setting->get("companyURL")."> (".$setting->get("companyName").")");
- $mail->addHeaderField("Sender", "<".$sender.">");
- if ($listAddress eq "") {
- $mail->addHeaderField("List-Post", "No");
- } else {
- $mail->addHeaderField("List-Post", "");
- }
- $mail->addHeaderField("List-Archive", "<".$siteurl.$cs->getUrl.">");
- $mail->addHeaderField("X-Unsubscribe-Web", "<".$siteurl.$cs->getUnsubscribeUrl.">");
- $mail->addHeaderField("X-Subscribe-Web", "<".$siteurl.$cs->getSubscribeUrl.">");
- $mail->addHeaderField("X-Archives", "<".$siteurl.$cs->getUrl.">");
- $mail->addHtml($message.$unsubscribe);
- $mail->addFooter;
- $mail->queue;
- my $mail = WebGUI::Mail::Send->create($self->session, {
- from=>"<".$from.">",
- returnPath => "<".$returnPath.">",
- replyTo=>"<".$replyTo.">",
- toGroup=>$thread->get("subscriptionGroupId"),
- subject=>$subject,
- messageId=>$messageId
- });
- $unsubscribe = ''.$i18n->get("unsubscribe","Asset_Collaboration").'
';
- if ($self->isReply) {
- $mail->addHeaderField("In-Reply-To", "<".$replyId.">");
- $mail->addHeaderField("References", "<".$replyId.">");
- }
- $mail->addHeaderField("List-ID", $cs->getTitle." <".$listId.">");
- $mail->addHeaderField("List-Help", ", <".$setting->get("companyURL").">");
- $mail->addHeaderField("List-Unsubscribe", "<".$siteurl.$thread->getUnsubscribeUrl.">");
- $mail->addHeaderField("List-Subscribe", "<".$siteurl.$thread->getSubscribeUrl.">");
- $mail->addHeaderField("List-Owner", ", <".$setting->get("companyURL")."> (".$setting->get("companyName").")");
- if ($listAddress eq "") {
- $mail->addHeaderField("List-Post", "No");
- } else {
- $mail->addHeaderField("List-Post", "");
- }
- $mail->addHeaderField("Sender", "<".$sender.">");
- $mail->addHeaderField("List-Archive", "<".$siteurl.$cs->getUrl.">");
- $mail->addHeaderField("X-Unsubscribe-Web", "<".$siteurl.$thread->getUnsubscribeUrl.">");
- $mail->addHeaderField("X-Subscribe-Web", "<".$siteurl.$thread->getSubscribeUrl.">");
- $mail->addHeaderField("X-Archives", "<".$siteurl.$cs->getUrl.">");
- $mail->addHtml($message.$unsubscribe);
- $mail->addFooter;
- $mail->queue;
}