-
Notifications
You must be signed in to change notification settings - Fork 27
/
email_raw.tag
48 lines (37 loc) · 1014 Bytes
/
email_raw.tag
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
UserTag email_raw Documentation <<EOD
=head1 email-raw
This tag takes a raw email message, I<including headers>, and
uses the SendmailProgram with B<-t> option. Example:
[email-raw]
From: foo@bar.com
To: bar@foo.com
Subject: baz
The text of the message.
[/email-raw]
The headers must be at the beginning of the line, and the header
must have a valid C<To:> or it will not be delivered.
=cut
EOD
UserTag email-raw hasEndTag
UserTag email-raw addAttr
UserTag email-raw Interpolate
UserTag email-raw Routine <<EOR
sub {
my($opt, $body) = @_;
my($ok);
$body =~ s/^\s+//;
SEND: {
open(Vend::MAIL,"|$Vend::Cfg->{SendMailProgram} -t") or last SEND;
print Vend::MAIL $body
or last SEND;
close Vend::MAIL
or last SEND;
$ok = ($? == 0);
}
if (!$ok) {
::logError("Unable to send mail using $Vend::Cfg->{SendMailProgram}\n" .
"Message follows:\n\n$body");
}
return $opt->{hide} ? '' : $ok;
}
EOR