-    foreach my $attachment (@{ $self->{attachments} }) {
-
-      my $filename;
-
-      if (ref($attachment) eq "HASH") {
-        $filename = $attachment->{"name"};
-        $attachment = $attachment->{"filename"};
-      } else {
-        $filename = $attachment;
-        # strip path
-        $filename =~ s/(.*\/|\Q$self->{fileid}\E)//g;
-      }
-
-      my $application    = ($attachment =~ /(^\w+$)|\.(html|text|txt|sql)$/) ? "text" : "application";
-      my $content_type   = SL::MIME->mime_type_from_ext($filename);
-      $content_type      = "${application}/$self->{format}" if (!$content_type && $self->{format});
-      $content_type    ||= 'application/octet-stream';
-
-      open(IN, $attachment);
-      if ($?) {
-        close(OUT);
-        $main::lxdebug->leave_sub();
-        return "$attachment : $!";
-      }
-
-      # only set charset for attachements of type text. every other type should not have this field
-      # refer to bug 883 for detailed information
-      my $attachment_charset;
-      if (lc $application eq 'text' && $self->{charset}) {
-        $attachment_charset = qq|; charset="$self->{charset}" |;
-      }
+    push @{ $self->{headers} }, ( ucfirst($item) => join(', ', @header_addresses) ) if @header_addresses;
+  }
+}