<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aaverkios</id>
	<title>Request Tracker Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aaverkios"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/wiki/Special:Contributions/Aaverkios"/>
	<updated>2026-08-21T19:11:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=AddTicketHistoryToMail&amp;diff=26499</id>
		<title>AddTicketHistoryToMail</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=AddTicketHistoryToMail&amp;diff=26499"/>
		<updated>2017-04-28T00:31:57Z</updated>

		<summary type="html">&lt;p&gt;Aaverkios: Changed HTML parsing to HTML::Strip module (tested/working on 4.4.1)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Original author: Michael Markstaller - IFCO&lt;br /&gt;
&lt;br /&gt;
Code cleanups: [[RuslanZakirov]]&lt;br /&gt;
&lt;br /&gt;
HTML parsing: aaverkios&lt;br /&gt;
&lt;br /&gt;
Requirements: Text::Wrapper and HTML::Strip perl modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;white-space: pre;&amp;quot;&amp;gt;&lt;br /&gt;
 Subject: Resolved: {$Ticket-&amp;gt;Subject}&lt;br /&gt;
&lt;br /&gt;
 Dear customer,&lt;br /&gt;
&lt;br /&gt;
 your issue regarding&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;{$Ticket-&amp;gt;Subject()}&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
 has been resolved in our ticket system. See below for history of this ticket.&lt;br /&gt;
&lt;br /&gt;
 If you have any further questions or concerns, please reply to this&lt;br /&gt;
 message to reopen the ticket.&lt;br /&gt;
&lt;br /&gt;
 regards&lt;br /&gt;
&lt;br /&gt;
 {$Ticket-&amp;gt;OwnerObj-&amp;gt;RealName || $Ticket-&amp;gt;OwnerObj-&amp;gt;Name}&lt;br /&gt;
&lt;br /&gt;
 your-company-fooprint&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
   Your initial request was&lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 {$Ticket-&amp;gt;Transactions-&amp;gt;First-&amp;gt;Content()}&lt;br /&gt;
&lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
   Complete Ticket History&lt;br /&gt;
 ----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  my $resolved_message = &#039;&#039;;&lt;br /&gt;
  my $last_content = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
  my $transactions = $Ticket-&amp;gt;Transactions;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  $transactions-&amp;gt;Limit( FIELD =&amp;gt; &#039;Type&#039;, VALUE =&amp;gt; &#039;Correspond&#039; );&lt;br /&gt;
  # If for some reason you want to expose internal comments to end users,&lt;br /&gt;
  # probably a bad idea, comment out the previous line and uncomment these:&lt;br /&gt;
  # $transactions-&amp;gt;Limit( FIELD =&amp;gt; &#039;Type&#039;, VALUE =&amp;gt; &#039;Correspond&#039;, ENTRYAGGREGATOR =&amp;gt; &#039;OR&#039;, OPERATOR =&amp;gt; &#039;=&#039; );&lt;br /&gt;
  # $transactions-&amp;gt;Limit( FIELD =&amp;gt; &#039;Type&#039;, VALUE =&amp;gt; &#039;Comment&#039;, ENTRYAGGREGATOR =&amp;gt; &#039;OR&#039;, OPERATOR =&amp;gt; &#039;=&#039; );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  while (my $transaction = $transactions-&amp;gt;Next) {&lt;br /&gt;
    my $attachments = $transaction-&amp;gt;Attachments;&lt;br /&gt;
&lt;br /&gt;
    while (my $message = $attachments-&amp;gt;Next) {&lt;br /&gt;
      next unless $message-&amp;gt;ContentType =~&lt;br /&gt;
               m!^(text/html|text/plain|message|text$)!i;&lt;br /&gt;
&lt;br /&gt;
      my $content = $message-&amp;gt;Content;&lt;br /&gt;
&lt;br /&gt;
      #HTML parsing start&lt;br /&gt;
      #Initialize the installed module&lt;br /&gt;
      use base &amp;quot;HTML::Strip&amp;quot;;&lt;br /&gt;
      #Create the strip object with the default constructor&lt;br /&gt;
      my $p = HTML::Strip-&amp;gt;new();&lt;br /&gt;
      # strip the content of HTML&lt;br /&gt;
      $content = $p-&amp;gt;parse($content);&lt;br /&gt;
      #HTML parsing end&lt;br /&gt;
&lt;br /&gt;
      next unless $content;&lt;br /&gt;
&lt;br /&gt;
      next if $last_content eq $content;&lt;br /&gt;
      $last_content = $content;&lt;br /&gt;
&lt;br /&gt;
      my $subject = ($message-&amp;gt;Subject || $Ticket-&amp;gt;Subject);&lt;br /&gt;
&lt;br /&gt;
      my $wrapper = Text::Wrapper-&amp;gt;new(columns=&amp;gt;70);&lt;br /&gt;
      $content = $wrapper-&amp;gt;wrap($content);&lt;br /&gt;
&lt;br /&gt;
      $resolved_message .= &amp;quot;Subject: &amp;quot;;&lt;br /&gt;
      $resolved_message .= $subject;&lt;br /&gt;
      $resolved_message .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
      $resolved_message .= &amp;quot;From: &amp;quot;;&lt;br /&gt;
      $resolved_message .= $message-&amp;gt;CreatorObj-&amp;gt;RealName || $message-&amp;gt;CreatorObj-&amp;gt;EmailAddress;&lt;br /&gt;
      $resolved_message .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
      $resolved_message .= &amp;quot;Time: &amp;quot;;&lt;br /&gt;
      $resolved_message .= $message-&amp;gt;CreatedObj-&amp;gt;AsString;&lt;br /&gt;
      $resolved_message .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
      $resolved_message .= &amp;quot;\n&amp;quot;;&lt;br /&gt;
      $resolved_message .= &amp;quot;$content\n&amp;quot;;&lt;br /&gt;
      $resolved_message .= &amp;quot;------------------------------------------------\n&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  $resolved_message;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 -------------------------------------------------------------------------&lt;br /&gt;
    Common Information&lt;br /&gt;
 -------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
 There is no need to reply to this message unless you want to RE-OPEN your&lt;br /&gt;
 ticket with ID [{$rtname} #{$Ticket-&amp;gt;id}].&lt;br /&gt;
&lt;br /&gt;
 If you want to simply add a COMMENT to this ticket without re-opening the ticket, click below:&lt;br /&gt;
 mailto:rt-comment@yourdomain.com?subject=[{$rtname}%20#{$Ticket-&amp;gt;id()}]&amp;amp;body=%20&lt;br /&gt;
&lt;br /&gt;
 Please note:&lt;br /&gt;
 - ALWAYS include the string [{$rtname} #{$Ticket-&amp;gt;id}] in the subject line of all future correspondence about this issue.&lt;br /&gt;
 - Do NOT attach or include the content of previous emails already sent to you by rt.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Aaverkios</name></author>
	</entry>
</feed>