发送消息时我可以使用类似的东西来设置To字段:(在Perl中)
To: "$name" <$email>
在Perl中,我可以使用Email :: Valid验证$email部分,但是如何确保$name部分接受Unicode字符但不能被欺骗发送到多个地址或做一些其他令人讨厌的事情?例如这个
$email = 'bar@me.com'; $name = 'Foo" <foo@other.com>,"Bar';
似乎创建一个像这样的To字段:
To: "Foo" <foo@other.com>,"Bar" <bar@me.com>
发送电子邮件到两个地址.
解决方法
use Email::Address qw(); use Encode qw(encode); s{\R}{}g for $email,$name; # newlines be-gone my $to = Email::Address->new($name => $email)->format; print encode 'MIME-Header',$to;