[rt-users] Another Win32 Email Question

Autrijus Tang autrijus at autrijus.org
Thu Sep 16 11:23:59 EDT 2004


On Thu, Sep 16, 2004 at 09:24:11AM -0500, Michael H. Brown wrote:
> I am getting closer I believe.  I am able to get rt-mailgate to check
> the proper email account on our Exchange server and it sees that there
> are messages.  However I am getting the following error after it checks
> the mail:

Hey, the attached webmux.pl.in should fix things; just overwrite the copy
in "C:\Program Files\OurInternet\Request Tracker\rt\bin" with this.

Let me know if this works or breaks; I'll make sure it works on 3.0.12-win32.

Thanks,
/Autrijus/
-------------- next part --------------
#!@PERL@
# BEGIN LICENSE BLOCK
#
# Copyright (c) 1996-2003 Jesse Vincent <jesse at bestpractical.com>
#
# (Except where explictly superceded by other copyright notices)
#
# This work is made available to you under the terms of Version 2 of
# the GNU General Public License. A copy of that license should have
# been provided with this software, but in any event can be snarfed
# from www.gnu.org.
#
# This work is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# Unless otherwise specified, all modifications, corrections or
# extensions to this work which alter its source code become the
# property of Best Practical Solutions, LLC when submitted for
# inclusion in the work.
#
#
# END LICENSE BLOCK

use strict;

BEGIN {
    $ENV{'PATH'}   = '/bin:/usr/bin';                     # or whatever you need
    $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'};
    $ENV{'SHELL'}  = '/bin/sh' if defined $ENV{'SHELL'};
    $ENV{'ENV'}    = '' if defined $ENV{'ENV'};
    $ENV{'IFS'}    = '' if defined $ENV{'IFS'};

    eval { require Apache2; require APR::Table; require MasonX::Apache2Handler; 1 } or
    eval { require Apache2; require Apache::compat; 1 } or die $@
      if $ENV{'MOD_PERL'}
      and $ENV{'MOD_PERL'} =~ m{mod_perl/(?:2|1\.9)};

}

use lib ( "@LOCAL_LIB_PATH@", "@RT_LIB_PATH@" );
use RT;

package RT::Mason;

use CGI qw(-private_tempfiles);    #bring this in before mason, to make sure we
                                   #set private_tempfiles

use HTML::Mason;    # brings in subpackages: Parser, Interp, etc.

use vars qw($Nobody $SystemUser $Handler $r);

#This drags in RT's config.pm
RT::LoadConfig();

use Carp;

{

    package HTML::Mason::Commands;
    use vars qw(%session);

    use RT::Tickets;
    use RT::Transactions;
    use RT::Users;
    use RT::CurrentUser;
    use RT::Templates;
    use RT::Queues;
    use RT::ScripActions;
    use RT::ScripConditions;
    use RT::Scrips;
    use RT::Groups;
    use RT::GroupMembers;
    use RT::CustomFields;
    use RT::CustomFieldValues;
    use RT::TicketCustomFieldValues;

    use RT::Interface::Web;
    use MIME::Entity;
    use Text::Wrapper;
    use CGI::Cookie;
    use Time::ParseDate;
    use HTML::Entities;
    use HTML::Scrubber;
    use Text::Quoted;
}

use RT::Interface::Web::Handler;
$Handler = RT::Interface::Web::Handler->new(@RT::MasonParameters);

sub handler {
    ($r) = @_;

    local $SIG{__WARN__};
    local $SIG{__DIE__};

    RT::Init();

    # We don't need to handle non-text, non-xml items
    if ($r->content_type =~ m/^httpd\b.*\bdirectory/i) {
        # Our DirectoryIndex is always index.html, regardless of httpd settings
        $r->filename( $r->filename . 'index.html' );
    }
    elsif (defined( $r->content_type )) {
	$r->content_type =~ m!(^text/|\bxml\b)!i or return -1;
    }

    my %session;
    my $status;
    eval { $status = $Handler->handle_request($r) };
    if ($@) {
        $RT::Logger->crit($@);
    }

    undef(%session);

    if ( $RT::Handle->TransactionDepth ) {
        $RT::Handle->ForceRollback;
        $RT::Logger->crit(
"Transaction not committed. Usually indicates a software fault. Data loss may have occurred"
        );
    }
    return $status;
}

1;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20040916/0c4f4c25/attachment.sig>


More information about the rt-users mailing list