X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fhtml%2FREST%2F1.0%2FNoAuth%2Fmail-gateway;h=739dace9dd9855d2450b4692a6caf8743beece2b;hp=09e3e3c497cceca50eee889f9e626a3d58bad959;hb=8103c1fc1b2c27a6855feadf26f91b980a54bc52;hpb=d39d52aac8f38ea9115628039f0df5aa3ac826de diff --git a/rt/html/REST/1.0/NoAuth/mail-gateway b/rt/html/REST/1.0/NoAuth/mail-gateway index 09e3e3c49..739dace9d 100644 --- a/rt/html/REST/1.0/NoAuth/mail-gateway +++ b/rt/html/REST/1.0/NoAuth/mail-gateway @@ -1,8 +1,8 @@ -%# {{{ BEGIN BPS TAGGED BLOCK +%# BEGIN BPS TAGGED BLOCK {{{ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -22,7 +22,9 @@ %# %# You should have received a copy of the GNU General Public License %# along with this program; if not, write to the Free Software -%# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/copyleft/gpl.html. %# %# %# CONTRIBUTION SUBMISSION POLICY: @@ -42,33 +44,41 @@ %# works based on those contributions, and sublicense and distribute %# those contributions and any derivatives thereof. %# -%# }}} END BPS TAGGED BLOCK +%# END BPS TAGGED BLOCK }}} <%flags> inherit => undef # inhibit UTF8 conversion done in /autohandler <%ARGS> -$message $queue => 1 $action => "correspond" $ticket => undef <%init> -use RT::Interface::Email; -my ( $status, $error, $Ticket ) = RT::Interface::Email::Gateway(\%ARGS); - if ($status == -75 ) { -$m->out("temporary failure - ". $error); - } - elsif ($status == 1) { -$m->out('ok'); - if ( $Ticket->Id ) { -$m->out('Ticket: '. $Ticket->Id); -$m->out('Queue: '. $Ticket->QueueObj->Name ); -$m->out('Owner: '. $Ticket->OwnerObj->Name); -$m->out('Status: '. $Ticket->Status ); -$m->out('Subject: '. $Ticket->Subject ); -$m->out('Requestor: '. $Ticket->Requestors->MemberEmailAddressesAsString ); - } - } else { -$m->out('not ok - '.$error); - } +$m->comp('/Elements/Callback', _CallbackName => 'Pre', %ARGS); +use RT::Interface::Email (); # It's an exporter, but we don't care +$r->content_type('text/plain; charset=utf-8'); +$m->error_format('text'); +my ( $status, $error, $Ticket ) = RT::Interface::Email::Gateway( \%ARGS ); +if ( $status == 1 ) { + $m->out('ok'); + if ( $Ticket->Id ) { + $m->out( 'Ticket: ' . ($Ticket->Id || '') ); + $m->out( 'Queue: ' . ($Ticket->QueueObj->Name || '') ); + $m->out( 'Owner: ' . ($Ticket->OwnerObj->Name || '') ); + $m->out( 'Status: ' . ($Ticket->Status || '') ); + $m->out( 'Subject: ' . ($Ticket->Subject || '') ); + $m->out( + 'Requestor: ' . ($Ticket->Requestors->MemberEmailAddressesAsString || '') ); + } +} +else { + $RT::Logger->error( "Could not record email: " . $error ); + if ( $status == -75 ) { + $m->out( "temporary failure - " . $error ); + } + else { + $m->out( 'not ok - ' . $error ); + } +} +$m->abort();