HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/perl5/SOAP/Transport/MAILTO.pm
# ======================================================================
#
# Copyright (C) 2000-2001 Paul Kulchenko (paulclinger@yahoo.com)
# SOAP::Lite is free software; you can redistribute it
# and/or modify it under the same terms as Perl itself.
#
# ======================================================================

package SOAP::Transport::MAILTO;

use strict;


our $VERSION = 1.17;

use MIME::Lite;
use URI;

# ======================================================================

package SOAP::Transport::MAILTO::Client;
use SOAP::Lite;
use vars qw(@ISA);
@ISA = qw(SOAP::Client);

sub DESTROY { SOAP::Trace::objects('()') }

sub new {
    my $class = shift;
    return $class if ref $class;

    my(@params, @methods);
    while (@_) { $class->can($_[0]) ? push(@methods, shift() => shift) : push(@params, shift) }
    my $self = bless {@params} => $class;
    while (@methods) { my($method, $params) = splice(@methods,0,2);
        $self->$method(ref $params eq 'ARRAY' ? @$params : $params)
    }
    SOAP::Trace::objects('()');

    return $self;
}

sub send_receive {
    my($self, %parameters) = @_;
    my($envelope, $endpoint, $action) =
        @parameters{qw(envelope endpoint action)};

    $endpoint ||= $self->endpoint;
    my $uri = URI->new($endpoint);
    %parameters = (%$self,
        map {URI::Escape::uri_unescape($_)}
            map {split/=/,$_,2}
                split /[&;]/, $uri->query || '');

    my $msg = MIME::Lite->new(
        To         => $uri->to,
        Type       => 'text/xml',
        Encoding   => $parameters{Encoding} || 'base64',
        Data       => $envelope,
        $parameters{From}
            ? (From => $parameters{From})
            : (),
        $parameters{'Reply-To'}
            ? ('Reply-To' => $parameters{'Reply-To'})
            : (),
        $parameters{Subject}
            ? (Subject    => $parameters{Subject})
            : (),
    );
    $msg->replace('X-Mailer' => join '/', 'SOAP::Lite', 'Perl', SOAP::Transport::MAILTO->VERSION);
    $msg->add(SOAPAction => $action);

    SOAP::Trace::transport($msg);
    SOAP::Trace::debug($msg->as_string);

    MIME::Lite->send(map {exists $parameters{$_}
        ? ($_ => $parameters{$_})
        : ()} 'smtp', 'sendmail');
    eval { local $SIG{__DIE__}; $MIME::Lite::AUTO_CC = 0; $msg->send };
    (my $code = $@) =~ s/ at .*\n//;

    $self->code($code);
    $self->message($code);
    $self->is_success(!defined $code || $code eq '');
    $self->status($code);

    return;
}

# ======================================================================

1;

__END__