簡単なメールを送り出す CGI 例です。
    どこからパクってきたかわならなくなりました。元情報の人、ごめんなさい。でも有効な情報でした。
    なお、現在使用している「さくらインターネット」では、日本語変換しないでも正常に日本語が出力されましたので、変換ステップはコメント行(#)にしてあります。
    
     
  
   
    ●From アドレスに注意
  
     #!/usr/bin/perl
          # 本宣言の Dir はサーバーによって異なる
     print "Content-type:text/html\n\n";  # この宣言はサーバーによっては不要
     #// メール送信準備
     $mailer = '/usr/sbin/sendmail';        # さくらで指定されているコマンドパス
     $mlfr = 'nakai99@sand.ocn.ne.jp';      # from アドレスを変更のこと 空にするとやばい
     $mlto = 'nakai99@sand.ocn.ne.jp';      # to アドレスを変更のこと 当然指定必要
     $mlsb = 'タイトル';                    # subject
     $mlms = 'テストメール';                # 本文
     $jcph = '.';
     #// メール送信 変換は不要であることを確認 H26.12.28
     #  require 文を入れるとここで処理が中断されてしまう。いらんかった
     #  require "$jcph/jcode.pl";
     # 
     # 日本語変換処理は不要でした。タイトル、本文とも日本語でOKです。
     #  jcode'convert(*mlsb, "jis");
     #  jcode'convert(*mlms, "jis");
     # 送信ヘッダを作る。
     # だらだらと長いが、文字連結(.) しているので要は From,To,Subject の3行を合成している
     $mlhd = "From: $mlfr" . "\n" . "To: $mlto" . "\n" . "Subject: $mlsb" . "\n\n";
     
     # メール用ファイルをオープン
     $err = 0;
     open(MAIL, "| $mailer -t -f'$mlfr'") or $err = 1;
     
     # 正常にオープンできればそのファイルに本文を出力する
     if ($err == 0) {
        print MAIL $mlhd;
        print MAIL $mlms;
        print MAIL "\n";
        print MAIL "\n\n" . "." . "\n";
        
        # メールファイルをクローズする→送信
        close(MAIL);
        $mailrslt = 'メールを正常に送信処理しました。';
     }
     else {
        $msilrslt = 'メール送信エラーが発生しました';
     }
    
    From アドレスを空にしたり、怪しいアドレスを書いておくと、メール受信時に迷惑メール扱いされることがあります。
    サーバーに登録している自分のアドレスを書いておくと問題ないようです。