view release on metacpan or search on metacpan
MboxParser/Mail.pm view on Meta::CPAN
# particular entity desired?
# we need to read the header of this entity then :-(
if (defined $num) {
my $ent = $self->get_entities($num);
if ($bound = $ent->head->get('content-type')) {
$bound =~ /boundary="(.*)"/; $bound = $1;
}
return Mail::MboxParser::Mail::Body->new($ent, $bound, $self->{ARGS});
}
# else
if ($bound = $self->header->{'content-type'}) {
$bound =~ /boundary="(.*)"/; $bound = $1;
}
return ref $self->{TOP_ENTITY} eq 'MIME::Entity'
? Mail::MboxParser::Mail::Body->new($self->{TOP_ENTITY}, $bound, $self->{ARGS})
: Mail::MboxParser::Mail::Body->new(scalar $self->get_entities(0), $bound, $self->{ARGS});
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/Message/Construct/Build.pm view on Meta::CPAN
while(@_)
{ my $key = shift;
if(blessed $key && $key->isa('Mail::Message::Field'))
{ my $name = $key->name;
if($name eq 'content-type') { $type = $key }
elsif($name eq 'content-transfer-encoding') { $transfenc = $key }
elsif($name eq 'content-disposition') { $dispose = $key }
elsif($name eq 'content-description') { $descr = $key }
elsif($name eq 'content-language') { $lang = $key }
elsif($name eq 'content-id') { $cid = $key }
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/example/google_apps_bad.eml view on Meta::CPAN
Return-Path: <marc@marcbradshaw.net>
Received: by mail-we0-f171.google.com with SMTP id k11so1456187wes.2
for <marc@fastmail.com>; Sat, 24 Jan 2015 19:35:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=marcbradshaw.net; s=google;
h=mime-version:date:message-id:subject:from:to:content-type;
bh=7gvdmshMrcJRxJis+zHrBpu6zyqotJf8vROJvE5OcmA=;
b=DU/QdEi3GUUK1jz9pbH4A5UaeGhbsPzrPPTDAbqrn4EABY8kSBqxOVhl8xyIC08Chh
44rMiMlO8RigLW9cBoQybRnKSzviGwP+QuS4xTdVzemM/1Pdat9FteJPsz8MpbHlRrQ7
EpwcaQdYRJRlnrGaQhn9dkPU7xcfN0w+nsabU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20130820;
h=x-gm-message-state:mime-version:date:message-id:subject:from:to
:content-type;
bh=7gvdmshMrcJRxJis+zHrBpu6zyqotJf8vROJvE5OcmA=;
b=aIL04w54Mcpr7cMQUdQrqpI4aUs4gV0Ww5+iyWnf0nMNUlsITzqPY2+5TBL2/l/ob1
nYRBLo+B01xb6HGTx1vATg/O/hrMPqK2pxICsTlIDvMBRpFsSDJbQpu0hQWpJXxF4cuQ
9QRyp3vYB0EWbn8Dxs9gm9V8G+b7nqRVG+X9YGFolXq00PPDRTIIB7adXmwDnHIdPx+u
Gb0MegXHP92U3iGZeZsEO1Gq9P6P44tp/v+09h9usq4OhBunjXojilYiB461BoBBYkGx
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/Milter/Module/HeaderValidateMIME.pm view on Meta::CPAN
shift; # $this
my $ctx = shift;
my $hname = lc(shift);
my $priv = $ctx->getpriv();
if ($hname eq 'content-type' || $hname eq 'mime-version') {
$priv->{$hname} = 1;
}
SMFIS_CONTINUE;
}
lib/Mail/Milter/Module/HeaderValidateMIME.pm view on Meta::CPAN
sub eoh_callback {
shift; # $this
my $ctx = shift;
my $priv = $ctx->getpriv();
if (defined($priv->{'content-type'}) xor defined($priv->{'mime-version'})) {
$ctx->setreply("554", "5.6.0", "Message is corrupt -- RFC2047: MIME-Version and Content-Type must be used together, or not at all");
return SMFIS_REJECT;
}
SMFIS_ACCEPT;
view all matches for this distribution
view release on metacpan or search on metacpan
t/dkim_getsiglist.t view on Meta::CPAN
ok($d->dkim_header({ header => $hdr, len => length($hdr) }) == DKIM_STAT_OK);
$hdr = "To: Tester <dktest\@blackops.org>\r\n";
ok($d->dkim_header({ header => $hdr, len => length($hdr) }) == DKIM_STAT_OK);
$hdr = "DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=in00.m1e.net; h=from:subject:to:list-help:list-unsubscribe:list-owner:list-post:message-id:mime-version:content-type; s=in00; bh=T0tjLwBYqqUn0OdBLCGYyrP8YqM=; b=Rkwp7cqXCgxIj1csV1SdnALAQZ3gwcGzxa...
ok($d->dkim_header({ header => $hdr, len => length($hdr) }) == DKIM_STAT_OK);
my $args = {
sigs => undef,
nsigs => undef
view all matches for this distribution
view release on metacpan or search on metacpan
t/03_procmailrc.t view on Meta::CPAN
ws = '[ ]*($[ ]+)*'
dq = '"'
## generic exe attachment
:0H
#* 1^0 $ ^content-type:${ws}(multipart/(mixed|application|signed|encrypted))|(application/)
* 4^0 $ ^content-disposition:${ws}attachment;${ws}.*name${ws}=${ws}${dq}?.*\.${ext}(\..*)?${dq}?${ws}$
{
:0:
* $ $=^0
* -1^0 B ?? $ ^content-type:${ws}text/plain
* -1^0 B ?? $ ^content-type:${ws}text/html
* 1^0 B ?? $ ^content-transfer-encoding:${ws}base64
/var/log/quarantine
}
_RCFILE_
view all matches for this distribution
view release on metacpan or search on metacpan
qmailrem/hfield.c view on Meta::CPAN
, "apparently-to"
, "received"
, "return-path"
, "delivered-to"
, "content-length"
, "content-type"
, "content-transfer-encoding"
, "notice-requested-upon-delivery-to"
, "mail-followup-to"
, 0
};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/Salsa/Action/Post.pm view on Meta::CPAN
my $attachfile = shift;
my $from_addr = shift;
$_[0] .= <<ENDCODE;
for my \$part (keys(\%{\$self->{'headers'}})) {
\$mime_type = \$self->{'headers'}->{\$part}->{'content-type'}->{'value'};
local \$_ = \$mime_type;
next if(index(\$_, \"multipart\/\") > -1);
ENDCODE
my $subscriber = 0;
open(ATTACHMENT, "<", $attachfile) or return("$!");
lib/Mail/Salsa/Action/Post.pm view on Meta::CPAN
}
if($self->{'config'}->{'footer'} eq "y") {
$footerfile = file_path($self->{'list'}, $self->{'list_dir'}, "footer.txt");
(-e $footerfile && -s $footerfile) or $footerfile = "";
}
my $boundary = exists($self->{'headers'}->{'0.0'}->{'content-type'}->{'boundary'}) ? $self->{'headers'}->{'0.0'}->{'content-type'}->{'boundary'} : "";
my ($tree, $count) = $boundary ? ("0.0.0", 0) : ("0.0", 1);
if($headerfile || $footerfile) {
if(exists($self->{'headers'}->{$tree}->{'content-type'}->{'value'}) &&
$self->{'headers'}->{$tree}->{'content-type'}->{'value'} eq "text/plain") {
if(exists($self->{'headers'}->{$tree}->{'content-transfer-encoding'}->{'value'})) {
$encoding = $self->{'headers'}->{$tree}->{'content-transfer-encoding'}->{'value'};
$encoding = $footerfile = $headerfile = "" unless(&check_encoding($encoding));
}
} else { $footerfile = $headerfile = ""; }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/Sender.pm view on Meta::CPAN
Sends a file as a separate part of the mail message. Only in multi-part mode.
=head2 Body
# set parameters in an ordered list
# -- charset, encoding, content-type
$sender = $sender->Body('US-ASCII', '7BIT', 'text/plain');
# OR use a hashref
$sender = $sender->Body({
charset => 'US-ASCII', # default
encoding => '7BIT', # default
view all matches for this distribution
view release on metacpan or search on metacpan
doc/index.html view on Meta::CPAN
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Mail::SpamAssassin::Contrib::Plugin::IPFilter - Blocks bad MTA behavior using IPTables and Redis/MySQL.</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
body{font-size:1.1em;}
hr {color:#999;margin-top:20px;}
h1{margin: 20px 0 10px 0;}
pre {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/SpamAssassin/Plugin/AttachmentPresent.pm view on Meta::CPAN
# we ignore all parts which are part of the text body
# For zipfiles, find out whats in them
# Content-Type: application/zip;
# Content-Transfer-Encoding: base64
my $ctt = $part->get_header('content-type') || '';
# Mail::SpamAssassin::Message::Node has _decode_header() method, but it doesnt decode
# Content-* headers and thus the filename in the Content-Type header is not decoded :(
$ctt=Encode::decode('MIME-Header', $ctt);
# $ctt might contain wide characters now
my $cte = lc($part->get_header('content-transfer-encoding') || '');
l('_build_attachment_tree->part: content-type: '.$ctt);
# consider the attachment a file if it has a name
my $attachment_filename='';
if($ctt =~ m/name\s*=\s*"?([^";]*)"?/is){
$attachment_filename=$1;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
}
}
# Figure out the boundary
my ($boundary);
($self->{'type'}, $boundary) = Mail::SpamAssassin::Util::parse_content_type($self->header('content-type'));
dbg("message: main message type: ".$self->{'type'});
# dbg("message: \$message[0]: \"" . $message[0] . "\"");
# bug 6845: if main message type is multipart and the message body does not begin with
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
Used to search the tree for specific MIME parts. See
I<Mail::SpamAssassin::Message::Node> for more details.
=cut
# Used to find any MIME parts whose simple content-type matches a given regexp
# Searches it's own and any children parts. Returns an array of MIME
# objects which match.
#
sub find_parts {
my $self = shift;
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
# in that case.
$part_array = [];
}
($part_msg->{'type'}, my $p_boundary, undef, undef, my $ct_was_missing) =
Mail::SpamAssassin::Util::parse_content_type($part_msg->header('content-type'));
# bug 5741: if ct was missing and parent == multipart/digest, then
# type should be set as message/rfc822
if ($ct_was_missing) {
if ($msg->{'type'} eq 'multipart/digest') {
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
}
else {
if ($header) {
my ( $key, $value ) = split ( /:\s*/, $header, 2 );
$part_msg->header( $key, $value );
if (defined $boundary && lc $key eq 'content-type') {
my (undef, $nested_bound) = Mail::SpamAssassin::Util::parse_content_type($part_msg->header('content-type'));
if (defined $nested_bound && $nested_bound eq $boundary) {
$nested_boundary = 1;
}
}
}
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
my ($msg, $boundary, $body) = @{$toparse};
dbg("message: parsing normal part");
# 0: content-type, 1: boundary, 2: charset, 3: filename 4: ct_missing
my @ct = Mail::SpamAssassin::Util::parse_content_type($msg->header('content-type'));
# multipart sections are required to have a boundary set ... If this
# one doesn't, assume it's malformed and revert to text/plain
# bug 5741: don't overwrite the default type assigned by _parse_multipart()
if (!$ct[4]) {
lib/Mail/SpamAssassin/Message.pm view on Meta::CPAN
$disp = Mail::SpamAssassin::Header::ParameterHeader->new($disp);
$msg->{'disposition'} = $disp->value();
$msg->{'name'} = $disp->parameter('filename');
}
# if the content-disposition header doesn't have a filename, try to get
# the filename from the content-type header
$msg->{'name'} = $ct[3] unless defined $msg->{'name'};
$msg->{'boundary'} = $boundary;
# If the part type is not one that we're likely to want to use, go
view all matches for this distribution