my $data = "Goodbye in Japanese is \x{3055}\x{3088}\x{306A}\x{3089}.";
####
use Encode;
use MIME::Entity;
my $entity = MIME::Entity->build(
Type => "text/plain",
Charset => "UTF-8",
Encoding => "quoted-printable",
Data => Encode::encode( "UTF-8", $data ),
From => Encode::encode(
"MIME-Header", $sender
),
To => Encode::encode(
"MIME-Header", $recipient
),
Subject => Encode::encode(
"MIME-Header", $subject
),
);
##
##
use Net::SMTP;
my $smtp = Net::SMTP->new(
"localhost",
Hello => 'localhost.localdomain',
Timeout => 15,
Debug => 1,
);
$smtp->mail( $sender );
if ( $smtp->recipient( $recipient ) ) {
$smtp->data();
my $msg = $entity->stringify;
while ( $msg =~ m/([^\r\n]*)(\r\n|\n\r|\r|\n)?/g ) {
my $line = ( defined($1) ? $1 : "" ) . "\r\n";
$smtp->datasend( $line );
}
if ( $smtp->dataend() ) {
print( STDERR, "Message sent!\n" );
} else {
print( STDERR, "Failure sending data.\n" );
}
} else {
print( STDERR, "Rejected recipient.\n" );
}
$smtp->quit();