This man is too old to remember everything in his brain. Right now, he needs a place to write down what he has studied.
2019年7月1日 星期一
用Perl的Mail::Sendmail模組寄送SMTP中文表頭
http://oldwww.geego.com.tw/tech_support/tech-tips-sending-utf8-smtp-header-using-perl-mail
電子郵件分成兩大部分:表頭及本文,表頭如果使用utf8字元的話,Perl的Mail::Sendmail模組在寄送後,收件人可能會看到亂碼,我們使用Encode模組來解決這個問題。
程式範例:
#!/usr/bin/perl
use utf8;
use Encode;
use Mail::Sendmail;
$sender = “奇科電腦 – Perl程式設計課程<perl@geego.com.tw> “;
$email = '奇科電腦 Perl團隊<perl.mail::sendmail@geego.com.tw>';
my $message = "奇科電腦: 這是一封用來測試Perl的Mail::Sendmail模組可否成功寄送utf8字元的郵件表頭.\n"
$sender = Encode::encode('MIME-Q', $sender); #避免header的內容變亂碼
$message = encode( "utf8", $message );
my %mail = ( To => "$email",
From => “$sender”,
'Content-type' => 'text/plain; charset="utf-8"',
Subject => "Perl’s Mail::Sendmail sending utf8 mail header",
Message => "$message" );
sendmail(%mail) or die $Mail::Sendmail::error;
沒有留言:
張貼留言