<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=PasswordReset</id>
	<title>PasswordReset - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=PasswordReset"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=PasswordReset&amp;action=history"/>
	<updated>2026-08-22T14:18:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=PasswordReset&amp;diff=2557&amp;oldid=prev</id>
		<title>Admin: 6 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=PasswordReset&amp;diff=2557&amp;oldid=prev"/>
		<updated>2016-04-06T20:20:27Z</updated>

		<summary type="html">&lt;p&gt;6 revisions imported&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Offer Password Reset on Login Page =&lt;br /&gt;
&lt;br /&gt;
The code below was adapted from [http://www.uio.no/tjenester/it/applikasjoner/rt/utvikling-drift/modifications/index.html http://www.uio.no/tjenester/it/applikasjoner/rt/utvikling-drift/modifications/index.html#toc9]&lt;br /&gt;
&lt;br /&gt;
I installed from Debian apt-get packages and the &amp;quot;local&amp;quot; directory is found at: /usr/local/share/request-tracker3.8 while the real source directory is at: /usr/share/request-tracker3.8&lt;br /&gt;
&lt;br /&gt;
So, to hook into the Callback offered in the Login form called &amp;quot;[[AfterForm]]&amp;quot;, I had to create the directory: /usr/local/share/request-tracker3.8/html/Callbacks/Default/Elements/Login and in there put a file called &amp;quot;[[AfterForm]]&amp;quot; The content of that file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;%# taken from http://www2.usit.uio.no/it/rt/modifications/&lt;br /&gt;
        %# Add template named &amp;#039;Password Change&amp;#039;, with description&lt;br /&gt;
        %#&lt;br /&gt;
        %#   Automatically generate password for external users who have forgotten their password&lt;br /&gt;
        %#&lt;br /&gt;
        &amp;amp;lt;div style=&amp;quot;margin: -20px auto 10px auto; text-align: center;&amp;quot;&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
            &amp;amp;lt;b&amp;amp;gt;Forgot Your Password?&amp;amp;lt;/b&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
            &amp;amp;lt;div style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;amp;gt;&amp;amp;lt;%$forgotSuccess%&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
            &amp;amp;lt;form method=&amp;quot;get&amp;quot; style=&amp;quot;display: &amp;amp;lt;%$forgotFormDisplay%&amp;amp;gt;;&amp;quot;&lt;br /&gt;
            &amp;lt;!-- if you are using RT4, you need this: --&amp;gt;&lt;br /&gt;
             action=&amp;quot;NoAuth/Login.html&amp;quot;&lt;br /&gt;
            &amp;lt;!-- end for RT4 --&amp;gt;&lt;br /&gt;
            &amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
            &amp;lt;!-- if you are using RT4, you need this next line --&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;next&amp;quot; value=&amp;quot;&amp;lt;%$next%&amp;gt;&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;!-- END LINE FOR rt4 --&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        % if($forgotFail) {&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;error&amp;quot; style=&amp;quot;text-align: left;&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div class=&amp;quot;titlebox error&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;div class=&amp;quot;titlebox-title&amp;quot;&amp;amp;gt;&lt;br /&gt;
                    &amp;amp;lt;span class=&amp;quot;left&amp;quot;&amp;amp;gt;Error&amp;amp;lt;/span&amp;amp;gt;&amp;amp;lt;span class=&amp;quot;right-empty&amp;quot;&amp;amp;gt; &amp;amp;lt;/span&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;div class=&amp;quot;titlebox-content&amp;quot;&amp;amp;gt;&lt;br /&gt;
                    &amp;amp;lt;%$forgotFail%&amp;amp;gt;&amp;amp;lt;hr class=&amp;quot;clear&amp;quot; /&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        % }&lt;br /&gt;
                &amp;amp;lt;%$forgotPrompt%&amp;amp;gt; &amp;amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;email&amp;quot;&amp;amp;gt; &amp;amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;#039;Send New Password&amp;#039;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
        my $forgotPrompt = &amp;quot;Enter your email address: &amp;quot;;&lt;br /&gt;
        my $forgotFail = &amp;#039;&amp;#039;;&lt;br /&gt;
        my $forgotFormDisplay = &amp;#039;block&amp;#039;;&lt;br /&gt;
        my $forgotSuccess = &amp;#039;&amp;#039;;&lt;br /&gt;
        &lt;br /&gt;
        my $mailfrom = &amp;#039;Ticket System &amp;amp;lt;YOU@YOURDOMAIN&amp;amp;gt;&amp;#039;;&lt;br /&gt;
        &lt;br /&gt;
        if ($email)&lt;br /&gt;
        {&lt;br /&gt;
            $email =~ s/^\s+|\s+$//g;&lt;br /&gt;
            my $UserObj = RT::User-&amp;amp;gt;new($RT::SystemUser);&lt;br /&gt;
            $UserObj-&amp;amp;gt;LoadByEmail($email);&lt;br /&gt;
        &lt;br /&gt;
            if (defined($UserObj-&amp;amp;gt;Id))&lt;br /&gt;
            {&lt;br /&gt;
                my ($val, $str) = ResetPassword($UserObj, $mailfrom);&lt;br /&gt;
                if($val &amp;amp;gt; 0)&lt;br /&gt;
                {&lt;br /&gt;
                    $forgotFormDisplay = &amp;#039;none&amp;#039;;&lt;br /&gt;
                    $forgotSuccess = $str;&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    $forgotFail = $str;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                $forgotFail = &amp;quot;Sorry, no account in the ticket system has the email address: $email&amp;quot;;&lt;br /&gt;
                $forgotPrompt = &amp;quot;Please enter the email used in one of your existing tickets:&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        sub ResetPassword {&lt;br /&gt;
            my $self = shift;&lt;br /&gt;
            my $mailfrom = shift;&lt;br /&gt;
        &lt;br /&gt;
            my $email = $self-&amp;amp;gt;EmailAddress;&lt;br /&gt;
        &lt;br /&gt;
            unless ( $self-&amp;amp;gt;CurrentUserCanModify(&amp;#039;Password&amp;#039;) ) {&lt;br /&gt;
                return ( 0, $self-&amp;amp;gt;loc(&amp;quot;You don&amp;#039;t have permission to change your password.&amp;quot;) );&lt;br /&gt;
            }&lt;br /&gt;
        &lt;br /&gt;
            unless ( ($self-&amp;amp;gt;Name =~ m/\@/) ) {&lt;br /&gt;
                return ( 0, $self-&amp;amp;gt;loc(&amp;quot;Only external users can reset their passwords this way.&amp;quot;) );&lt;br /&gt;
            }&lt;br /&gt;
        &lt;br /&gt;
            my ( $status, $pass ) = $self-&amp;amp;gt;SetRandomPassword();&lt;br /&gt;
        &lt;br /&gt;
            unless ($status) {&lt;br /&gt;
                return ( 0, &amp;quot;$pass&amp;quot; );&lt;br /&gt;
            }&lt;br /&gt;
        &lt;br /&gt;
            my $template = RT::Template-&amp;amp;gt;new( $self-&amp;amp;gt;CurrentUser );&lt;br /&gt;
        &lt;br /&gt;
            my $parsed;&lt;br /&gt;
            # This test do not work.  I&amp;#039;m not sure how to detect if the template loading failed [pere 2006-08-16]&lt;br /&gt;
            if ($template-&amp;amp;gt;LoadGlobalTemplate(&amp;#039;PasswordChange&amp;#039;)) {&lt;br /&gt;
                $T::RealName = $self-&amp;amp;gt;RealName;&lt;br /&gt;
                $T::Username = $self-&amp;amp;gt;Name;&lt;br /&gt;
                $T::Password = $pass;&lt;br /&gt;
                $parsed = $template-&amp;amp;gt;_ParseContent();&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
        &lt;br /&gt;
        # hardcoded default text body in case &amp;#039;Password Change&amp;#039; template is missing.&lt;br /&gt;
        &lt;br /&gt;
                $parsed = &amp;amp;lt;&amp;amp;lt;EOF;&lt;br /&gt;
        &lt;br /&gt;
        Greetings,&lt;br /&gt;
        &lt;br /&gt;
        This message was automatically sent in response to a Reset Password request in&lt;br /&gt;
        the web based ticket system.&lt;br /&gt;
        &lt;br /&gt;
        You may now login using the following:&lt;br /&gt;
        &lt;br /&gt;
                Username: $self-&amp;amp;gt;Name&lt;br /&gt;
                Password: $pass&lt;br /&gt;
        &lt;br /&gt;
        Support Team&lt;br /&gt;
        &lt;br /&gt;
        EOF&lt;br /&gt;
            }&lt;br /&gt;
            my $entity = MIME::Entity-&amp;amp;gt;build(&lt;br /&gt;
                                              From    =&amp;amp;gt; $mailfrom,&lt;br /&gt;
                                              To      =&amp;amp;gt; $email,&lt;br /&gt;
                                              Subject =&amp;amp;gt; loc(&amp;quot;CF Ticket Password Changed&amp;quot;),&lt;br /&gt;
                                              &amp;#039;X-RT-Loop-Prevention&amp;#039; =&amp;amp;gt; $RT::rtname,&lt;br /&gt;
                                              Type    =&amp;amp;gt; &amp;quot;text/plain&amp;quot;,&lt;br /&gt;
                                              Charset =&amp;amp;gt; &amp;quot;UTF-8&amp;quot;,&lt;br /&gt;
                                              Data    =&amp;amp;gt; [$parsed]&lt;br /&gt;
                                            );&lt;br /&gt;
            open (MAIL, &amp;quot;|$RT::SendmailPath $RT::SendmailArguments -t&amp;quot;) || return(0, &amp;quot;Failed to open mailpipe&amp;quot;);&lt;br /&gt;
            print MAIL $entity-&amp;amp;gt;as_string;&lt;br /&gt;
            close(MAIL);&lt;br /&gt;
        &lt;br /&gt;
            return (1, &amp;quot;SUCCESS! A new password was sent to your email address.&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
        $email =&amp;amp;gt; undef&lt;br /&gt;
  # if you are using RT4, you need this next line:&lt;br /&gt;
        $next =&amp;gt; undef&lt;br /&gt;
  # end for RT4&lt;br /&gt;
        &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== For RT4.0.6 (maybe earlier?) ==&lt;br /&gt;
&lt;br /&gt;
We had to do a few changes to make it work under RT4.0.6, we hope the following will make it easier for others.&lt;br /&gt;
&lt;br /&gt;
First, for non Debian distrbutions the file &amp;#039;&amp;#039;AfterForm&amp;#039;&amp;#039; should be created under &amp;#039;&amp;#039;[RT4 base dir]/local/html/Callbacks/Default/Elements/Login/&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Copy pasting the code from here will break things, so make sure you do the following after you pasted it into the file:&lt;br /&gt;
&lt;br /&gt;
Merge the following lines, as keeping it this way will break the HTML code, just remove the comments and put it all on one line (lines ~12-16):&lt;br /&gt;
 &amp;lt;form method=&amp;quot;get&amp;quot; style=&amp;quot;display: &amp;lt;%$forgotFormDisplay%&amp;gt;;&amp;quot;&lt;br /&gt;
           &amp;lt;!-- if you are using RT4, you need this: --&amp;gt;&lt;br /&gt;
            action=&amp;quot;NoAuth/Login.html&amp;quot;&lt;br /&gt;
           &amp;lt;!-- end for RT4 --&amp;gt;&lt;br /&gt;
           &amp;gt;&lt;br /&gt;
To:&lt;br /&gt;
 &amp;lt;form method=&amp;quot;get&amp;quot; style=&amp;quot;display: &amp;lt;%$forgotFormDisplay%&amp;gt;;&amp;quot; action=&amp;quot;NoAuth/Login.html&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, &amp;#039;&amp;#039;SetRandomPassword &amp;#039;&amp;#039;function when invoked change the password, but won&amp;#039;t include it in the email sent to the user. Change the function to &amp;#039;&amp;#039;ResetPassword &amp;#039;&amp;#039;(line ~83):&lt;br /&gt;
 my ( $status, $pass ) = $self-&amp;gt;SetRandomPassword();&lt;br /&gt;
To:&lt;br /&gt;
 my ( $status, $pass ) = $self-&amp;gt;ResetPassword();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Last thing, make sure the closing &amp;quot;&amp;#039;&amp;#039;EOF&amp;#039;&amp;#039;&amp;quot; (line ~120) is at the &amp;#039;&amp;#039;&amp;#039;start&amp;#039;&amp;#039;&amp;#039; of a line by itself, else it will die with an error.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=PasswordReset&amp;diff=2553&amp;oldid=prev</id>
		<title>87.238.43.236: Update URL for page where this comes from, as it has moved</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=PasswordReset&amp;diff=2553&amp;oldid=prev"/>
		<updated>2010-12-15T14:13:02Z</updated>

		<summary type="html">&lt;p&gt;Update URL for page where this comes from, as it has moved&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= alOffer Password Reset on Login Page =&lt;br /&gt;
&lt;br /&gt;
The code below was adapted from [http://www.uio.no/tjenester/it/applikasjoner/rt/utvikling-drift/modifications/index.html http://www.uio.no/tjenester/it/applikasjoner/rt/utvikling-drift/modifications/index.html#toc9]&lt;br /&gt;
&lt;br /&gt;
I installed from Debian apt-get packages and the &amp;quot;local&amp;quot; directory is found at: /usr/local/share/request-tracker3.8 while the real source directory is at: /usr/share/request-tracker3.8&lt;br /&gt;
&lt;br /&gt;
So, to hook into the Callback offered in the Login form called &amp;quot;[[AfterForm]]&amp;quot;, I had to create the directory: /usr/local/share/request-tracker3.8/html/Callbacks/Default/Elements/Login and in there put a file called &amp;quot;[[AfterForm]]&amp;quot; The content of that file is:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;%# taken from http://www2.usit.uio.no/it/rt/modifications/&lt;br /&gt;
    %# Add template named &amp;#039;Password Change&amp;#039;, with description&lt;br /&gt;
    %#&lt;br /&gt;
    %#   Automatically generate password for external users who have forgotten their password&lt;br /&gt;
    %#&lt;br /&gt;
    &amp;amp;lt;div style=&amp;quot;margin: -20px auto 10px auto; text-align: center;&amp;quot;&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;amp;lt;b&amp;amp;gt;Forgot Your Password?&amp;amp;lt;/b&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;amp;lt;div style=&amp;quot;color: green; font-weight: bold;&amp;quot;&amp;amp;gt;&amp;amp;lt;%$forgotSuccess%&amp;amp;gt;&amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
        &amp;amp;lt;form method=&amp;quot;get&amp;quot; style=&amp;quot;display: &amp;amp;lt;%$forgotFormDisplay%&amp;amp;gt;;&amp;quot;&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    % if($forgotFail) {&lt;br /&gt;
    &amp;amp;lt;div class=&amp;quot;error&amp;quot; style=&amp;quot;text-align: left;&amp;quot;&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;div class=&amp;quot;titlebox error&amp;quot;&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div class=&amp;quot;titlebox-title&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;span class=&amp;quot;left&amp;quot;&amp;amp;gt;Error&amp;amp;lt;/span&amp;amp;gt;&amp;amp;lt;span class=&amp;quot;right-empty&amp;quot;&amp;amp;gt; &amp;amp;lt;/span&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;div class=&amp;quot;titlebox-content&amp;quot;&amp;amp;gt;&lt;br /&gt;
                &amp;amp;lt;%$forgotFail%&amp;amp;gt;&amp;amp;lt;hr class=&amp;quot;clear&amp;quot; /&amp;amp;gt;&lt;br /&gt;
            &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
    % }&lt;br /&gt;
            &amp;amp;lt;%$forgotPrompt%&amp;amp;gt; &amp;amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;email&amp;quot;&amp;amp;gt; &amp;amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;#039;Send New Password&amp;#039;&amp;amp;gt;&lt;br /&gt;
        &amp;amp;lt;/form&amp;amp;gt;&lt;br /&gt;
    &amp;amp;lt;/div&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
    my $forgotPrompt = &amp;quot;Enter your email address: &amp;quot;;&lt;br /&gt;
    my $forgotFail = &amp;#039;&amp;#039;;&lt;br /&gt;
    my $forgotFormDisplay = &amp;#039;block&amp;#039;;&lt;br /&gt;
    my $forgotSuccess = &amp;#039;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    my $mailfrom = &amp;#039;Ticket System &amp;amp;lt;YOU@YOURDOMAIN&amp;amp;gt;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
    if ($email)&lt;br /&gt;
    {&lt;br /&gt;
        $email =~ s/^\s+|\s+$//g;&lt;br /&gt;
        my $UserObj = RT::User-&amp;amp;gt;new($RT::SystemUser);&lt;br /&gt;
        $UserObj-&amp;amp;gt;LoadByEmail($email);&lt;br /&gt;
    &lt;br /&gt;
        if (defined($UserObj-&amp;amp;gt;Id))&lt;br /&gt;
        {&lt;br /&gt;
            my ($val, $str) = ResetPassword($UserObj, $mailfrom);&lt;br /&gt;
            if($val &amp;amp;gt; 0)&lt;br /&gt;
            {&lt;br /&gt;
                $forgotFormDisplay = &amp;#039;none&amp;#039;;&lt;br /&gt;
                $forgotSuccess = $str;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                $forgotFail = $str;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            $forgotFail = &amp;quot;Sorry, no account in the ticket system has the email address: $email&amp;quot;;&lt;br /&gt;
            $forgotPrompt = &amp;quot;Please enter the email used in one of your existing tickets:&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    sub ResetPassword {&lt;br /&gt;
        my $self = shift;&lt;br /&gt;
        my $mailfrom = shift;&lt;br /&gt;
    &lt;br /&gt;
        my $email = $self-&amp;amp;gt;EmailAddress;&lt;br /&gt;
    &lt;br /&gt;
        unless ( $self-&amp;amp;gt;CurrentUserCanModify(&amp;#039;Password&amp;#039;) ) {&lt;br /&gt;
            return ( 0, $self-&amp;amp;gt;loc(&amp;quot;You don&amp;#039;t have permission to change your password.&amp;quot;) );&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        unless ( ($self-&amp;amp;gt;Name =~ m/\@/) ) {&lt;br /&gt;
            return ( 0, $self-&amp;amp;gt;loc(&amp;quot;Only external users can reset their passwords this way.&amp;quot;) );&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        my ( $status, $pass ) = $self-&amp;amp;gt;SetRandomPassword();&lt;br /&gt;
    &lt;br /&gt;
        unless ($status) {&lt;br /&gt;
            return ( 0, &amp;quot;$pass&amp;quot; );&lt;br /&gt;
        }&lt;br /&gt;
    &lt;br /&gt;
        my $template = RT::Template-&amp;amp;gt;new( $self-&amp;amp;gt;CurrentUser );&lt;br /&gt;
    &lt;br /&gt;
        my $parsed;&lt;br /&gt;
        # This test do not work.  I&amp;#039;m not sure how to detect if the template loading failed [pere 2006-08-16]&lt;br /&gt;
        if ($template-&amp;amp;gt;LoadGlobalTemplate(&amp;#039;PasswordChange&amp;#039;)) {&lt;br /&gt;
            $T::RealName = $self-&amp;amp;gt;RealName;&lt;br /&gt;
            $T::Username = $self-&amp;amp;gt;Name;&lt;br /&gt;
            $T::Password = $pass;&lt;br /&gt;
            $parsed = $template-&amp;amp;gt;_ParseContent();&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
    &lt;br /&gt;
    # hardcoded default text body in case &amp;#039;Password Change&amp;#039; template is missing.&lt;br /&gt;
    &lt;br /&gt;
            $parsed = &amp;amp;lt;&amp;amp;lt;EOF;&lt;br /&gt;
    &lt;br /&gt;
    Greetings,&lt;br /&gt;
    &lt;br /&gt;
    This message was automatically sent in response to a Reset Password request in&lt;br /&gt;
    the web based ticket system.&lt;br /&gt;
    &lt;br /&gt;
    You may now login using the following:&lt;br /&gt;
    &lt;br /&gt;
            Username: $self-&amp;amp;gt;Name&lt;br /&gt;
            Password: $pass&lt;br /&gt;
    &lt;br /&gt;
    Support Team&lt;br /&gt;
    &lt;br /&gt;
    EOF&lt;br /&gt;
        }&lt;br /&gt;
        my $entity = MIME::Entity-&amp;amp;gt;build(&lt;br /&gt;
                                          From    =&amp;amp;gt; $mailfrom,&lt;br /&gt;
                                          To      =&amp;amp;gt; $email,&lt;br /&gt;
                                          Subject =&amp;amp;gt; loc(&amp;quot;CF Ticket Password Changed&amp;quot;),&lt;br /&gt;
                                          &amp;#039;X-RT-Loop-Prevention&amp;#039; =&amp;amp;gt; $RT::rtname,&lt;br /&gt;
                                          Type    =&amp;amp;gt; &amp;quot;text/plain&amp;quot;,&lt;br /&gt;
                                          Charset =&amp;amp;gt; &amp;quot;UTF-8&amp;quot;,&lt;br /&gt;
                                          Data    =&amp;amp;gt; [$parsed]&lt;br /&gt;
                                        );&lt;br /&gt;
        open (MAIL, &amp;quot;|$RT::SendmailPath $RT::SendmailArguments -t&amp;quot;) || return(0, &amp;quot;Failed to open mailpipe&amp;quot;);&lt;br /&gt;
        print MAIL $entity-&amp;amp;gt;as_string;&lt;br /&gt;
        close(MAIL);&lt;br /&gt;
    &lt;br /&gt;
        return (1, &amp;quot;SUCCESS! A new password was sent to your email address.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;amp;lt;%ARGS&amp;amp;gt;&lt;br /&gt;
    $email =&amp;amp;gt; undef&lt;br /&gt;
    &amp;amp;lt;/%ARGS&amp;amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>87.238.43.236</name></author>
	</entry>
</feed>