use warnings;
use strict;
-use base qw(Exporter);
+use Exporter qw(import);
use vars qw($DEBUG $VERSION @EXPORT_OK %EXPORT_TAGS @EXPORT);
BEGIN {
use MIME::Parser;
use POSIX qw(strftime);
-use List::MoreUtils qw(apply);
+use List::AllUtils qw(apply);
# for convert_to_utf8
use Debbugs::UTF8 qw(convert_to_utf8);
die "The third argument to create_mime_message must be an arrayref" unless ref($attachments) eq 'ARRAY';
if ($include_date) {
- my %headers = apply {lc($_)} @{$headers};
+ my %headers = apply {defined $_ ? lc($_) : ''} @{$headers};
if (not exists $headers{date}) {
push @{$headers},
('Date',
# MIME::Entity is stupid, and doesn't rfc1522 encode its headers, so we do it for it.
my $msg = MIME::Entity->build('Content-Type' => 'text/plain; charset=utf-8',
'Encoding' => 'quoted-printable',
- (map{encode_rfc1522(encode_utf8($_))} @{$headers}),
+ (map{encode_rfc1522(encode_utf8(defined $_ ? $_:''))} @{$headers}),
Data => encode_utf8($body),
);