-2

ここで、Perl (キリル文字) から Mail::Sendmail を使用して送信および電子メールを送信しようとしている状況があります。

use Mail::Sendmail;
use Encode;
use utf8;

my $subject= "cyrillic message";
....

問題は、メール メッセージに認識できない記号が表示されることです。

私はすでに utf8 を使用しようとしましたが、utf8 を使用するのではなく、デコードとエンコード、decode_utf8 などを試しました (Perlmonks の議論を含め、多くのことを読みました) が、それでもメールの件名に 2 種類の認識できないシンボルを受け取りますまたは「サブルーチンエントリのワイド文字」。

追加した:

#!/usr/bin/perl

use Mail::Sendmail;
use Encode;
use utf8;
use warnings;

my $subject= "cyrillic subject";
my $message= "cyrillic message";


my %mail = (
        To      => 'recipient@example.com',
        Subject => "$subject",
        From    => 'from@example.com',
        Message => "$message",
       );

sendmail(%mail) or die $Mail::Sendmail::error;

print "OK. Log says:\n", $Mail::Sendmail::log;
4

1 に答える 1

0

utf8 と Encode を使用せずに問題を解決しました。

'Content-type' => 'text/html; を追加しました。charset="utf-8"' ヘッダーとすべてが正常になります!

于 2013-11-13T11:20:18.353 に答える