This file is indexed.

/usr/share/perl5/Email/Send/Sendmail.pm is in libemail-send-perl 2.198-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
package Email::Send::Sendmail;
use strict;

use File::Spec ();
use Return::Value;
use Symbol qw(gensym);

use vars qw[$SENDMAIL $VERSION];

$VERSION   = '2.198';

sub is_available {
    my $class = shift;

    # This is RIDICULOUS.  Why do we say it's available if it isn't?
    # -- rjbs, 2006-07-06
    return success "No Sendmail found" unless $class->_find_sendmail;
    return success '';
}

sub _find_sendmail {
    my $class = shift;
    return $SENDMAIL if defined $SENDMAIL;

    my $sendmail;
    for my $dir (
      File::Spec->path,
      ($ENV{PERL_EMAIL_SEND_SENDMAIL_NO_EXTRA_PATHS} ? () : (
        File::Spec->catfile('', qw(usr sbin)),
        File::Spec->catfile('', qw(usr lib)),
      ))
    ) {
        if ( -x "$dir/sendmail" ) {
            $sendmail = "$dir/sendmail";
            last;
        }
    }

    return $sendmail;
}

sub send {
    my ($class, $message, @args) = @_;
    my $mailer = $class->_find_sendmail;

    return failure "Couldn't find 'sendmail' executable in your PATH"
        ." and \$".__PACKAGE__."::SENDMAIL is not set"
        unless $mailer;

    return failure "Found $mailer but cannot execute it"
        unless -x $mailer;
    
    local $SIG{'CHLD'} = 'DEFAULT';

    my $pipe = gensym;

    open $pipe, "| $mailer -t -oi @args"
        or return failure "Error executing $mailer: $!";
    print $pipe $message->as_string
        or return failure "Error printing via pipe to $mailer: $!";
    close $pipe
        or return failure "error when closing pipe to $mailer: $!";
    return success;
}

1;

__END__

=head1 NAME

Email::Send::Sendmail - Send Messages using sendmail

=head1 SYNOPSIS

  use Email::Send;

  Email::Send->new({mailer => 'Sendmail'})->send($message);

=head1 DESCRIPTION

This mailer for C<Email::Send> uses C<sendmail> to send a message. It
I<does not> try hard to find the executable. It just calls
C<sendmail> and expects it to be in your path. If that's not the
case, or you want to explicitly define the location of your executable,
alter the C<$Email::Send::Sendmail::SENDMAIL> package variable.

  $Email::Send::Sendmail::SENDMAIL = '/usr/sbin/sendmail';

=head1 SEE ALSO

L<Email::Send>,
L<perl>.

=head1 AUTHOR

Current maintainer: Ricardo SIGNES, <F<rjbs@cpan.org>>.

Original author: Casey West, <F<casey@geeknest.com>>.

=head1 COPYRIGHT

  Copyright (c) 2004 Casey West.  All rights reserved.
  This module is free software; you can redistribute it and/or modify it
  under the same terms as Perl itself.

=cut