我在这里遇到一种情况,试图通过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;
答案 0 :(得分:0)
问题解决了,没有使用utf8而且没有使用Encode。
我添加了'Content-type'=> “text / html的; charset =“utf-8”'标题,一切都变好了!