The following lines work exactly as I expect:

use Data::Dumper;

my $tobj = $self->TransactionObj;
my $atts = $tobj->Attachments;

my $attachment = $self->TransactionObj->Attachments->Next;
if (!$attachment) {
    return 0;

my $content = Dumper($attachment->ContentAsMIME(Children=>1));
if ($content=~/ name\=\".*?\.zip\"/i) {
    $RT::Logger->info("message has a zip file");
} else {
    $RT::Logger->info("no zip file");
return 1;

However, this doesn't look like a good solution

In an attempt to use the API directly, I tried the following:


while(my $attachment = $self->TransactionObj->Attachments->Next) {

But got this in the log file:

[Wed Mar 16 16:47:07 2016] [error]: Scrip 34 Commit failed:
RT::Attachment::FileName Unimplemented in RT::Action::UserDefined. ((eval
652) line 2)

​any ideas?

Thanks in advance​

our installation:
Centos 6.6/MySql/Apache+mod_perl
RT 4.2​.9

On Tue, Mar 15, 2016 at 7:04 PM, Hugo Escobar <hesco...@afslc.com> wrote:

> Hi,
> I need to detect if a zip file has been attached to a ticket at
> creation time and also at 'comment' or 'correspond' time.
> My idea to solve this is to extract the attachments and then parse
> the content.
> I think the best route for this would be:
>  TransactionObj->Attachments->Next ...
>       ContentAsMIME(Children=>1)
> Since MIME entities can themselves contain other entities,
> I think I'm going to need a recursive function ...
> Basically what I'd like is a few words of advice. I think I can
> come up with a solution but perhaps there's a simpler path I'm overlooking
> or I'm not aware of.
> ​Thanks in advance​,


Hugo Escobar


4770 Biscayne Blvd, Ste 700
Miami, FL 33137

main: 305.677.0022
support: 305.921.4620
email: hesco...@afslc.com

Follow us on Facebook and Linked-In

NOTICE: This email and any attachment to this email may contain
confidential information. If you are not the intended recipient, you must
not review, retransmit, convert to hard copy, photocopy, use or disseminate
this email or any attachments to it. If you have received this email in
error, please notify us immediately by return email and delete this
message. Please note that if this email contains a forwarded message or is
a reply to a prior message, some or all of the contents of this message or
any attachments may not have been produced by our firm. *As our firm may be
deemed a debt collector, if your payment is in default, we may be
attempting to collect a debt on behalf of the association, and any
information obtained may be used for that purpose.*
RT 4.4 and RTIR Training Sessions https://bestpractical.com/training
* Washington DC - May 23 & 24, 2016

Reply via email to